gpt4 book ai didi

java - 我不知道如何重置循环(请参见示例)

转载 作者:行者123 更新时间:2023-12-03 21:43:02 24 4
gpt4 key购买 nike

我需要编写一个接受两个整数作为参数的方法,一个最小值和一个最大值。在第一行中,我需要打印该范围内(包括该范围内)的所有数字。在下一行中,我以min + 1开头,将所有数字打印到最大,然后返回到范围的最前面并打印min。下一行我以min + 2开头,依此类推,直到我从范围内的每个数字开始重复此操作为止。这很难解释,下面是两个示例:假设我将1和5用作min和max参数。我想要方法打印此:

12345
23451
34512
45123
51234


或者如果通过了3和9,我会期望这样:

3456789
4567893
5678934
6789345
7893456
8934567
9345678


我已经尝试过各种方法,但我确定有一种简单的方法可以实现我尚未意识到的事情。我应该在没有数组或arrayLists的情况下执行此操作。我认为我有一个很好的基础可以合作,但是我只是想不通该从哪里去。我的基本代码显示如下:

12345
2345
345
45
5


还有这个:

3456789
456789
56789
6789
789
89
9


我很沮丧这是我的代码:

public void printSquare(int min, int max){
for (int i=min; i<=max; i++){
for (int j=i; j<=max; j++){
System.out.print(j);
}
System.out.println();
}
}

最佳答案

这是一个非常简单的实现。希望这可以帮助!

   int n = max-min+1;
for (int i=0 ; i<n; i++){
for (int j=0; j<n; j++)
cout<<min + (i+j)%n;
cout<<"\n";
}


输出:

min = 3 | max = 9 

3456789
4567893
5678934
6789345
7893456
8934567
9345678

关于java - 我不知道如何重置循环(请参见示例),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4424716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com