我一直在尝试打印下面的输出,我被困了很长一段时间。我已经试过了,希望有人可以给我一些提示,我会自己解决。
我应该调用方法printSquare(1, 5);
,我必须打印
12345
23451
34512
45123
51234
这就是我的结果。
public static void printSquare(int min,int max){
for(int i=min;i<=max;i++){
for(int x=min;x<=max;x++){
System.out.print(x);
}
System.out.println();
}
}
答案 0 :(得分:1)
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
System.out.print (((i + j) % 5) + 1);
System.out.println ();
}
答案 1 :(得分:0)
尝试以下代码,它可能会对您有所帮助。
public static void printSquare(int min,int max){
for(int i=min;i<=max;i++){
int iVal=i;
for(int x=min;x<=max;x++){
if(iVal>max){
System.out.print(iVal-(max-min+1));
}else{
System.out.print(iVal);
}
iVal++;
}
System.out.println(" ");
}
}
答案 2 :(得分:0)
这是您应该记住的通用伪代码设计:
max
的界限。
max
的剩余部分和您当前的位置值为0,则设置为min
。这是一个粗略的实现,涉及一个数组。
public void printRotatedNumbers(int[] array, int a, int b) {
for(int i = 0; i < b; i++) {
System.out.println(Arrays.toString(array));
for(int j = 0; j < array.length; j++) {
if(array[j] % b == 0) {
array[j] = a;
} else {
++array[j];
}
}
}
}
在包含a = 1
和b = 10
的10个整数元素的数组上,您得到:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[2, 3, 4, 5, 6, 7, 8, 9, 10, 1]
[3, 4, 5, 6, 7, 8, 9, 10, 1, 2]
[4, 5, 6, 7, 8, 9, 10, 1, 2, 3]
[5, 6, 7, 8, 9, 10, 1, 2, 3, 4]
[6, 7, 8, 9, 10, 1, 2, 3, 4, 5]
[7, 8, 9, 10, 1, 2, 3, 4, 5, 6]
[8, 9, 10, 1, 2, 3, 4, 5, 6, 7]
[9, 10, 1, 2, 3, 4, 5, 6, 7, 8]
[10, 1, 2, 3, 4, 5, 6, 7, 8, 9]
答案 3 :(得分:0)
public static void print(int min, int max) {
for (int i = min; i <= max; i++) {
int val = i;
do {
System.out.print(val);
if (val == max) {
val = min;
} else {
val++;
}
} while (val != i);
System.out.println();
}
}