1

我一直在尝试打印下面的输出,但我被困了很长一段时间。我已经尝试过了,希望有人能给我一些提示,我会自己解决。

我应该调用这个方法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();
    }
}
4

4 回答 4

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 ();
}
于 2013-02-10T15:49:13.940 回答
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();
    }
}
于 2013-02-10T16:04:37.733 回答
0

这是您应该记住的通用伪代码设计:

  • 在 的边界上迭代max
    • 打印您的第一个号码集。
    • 遍历数组的最大边界。
      • 如果max您当前位置的值的余数为 0,则将其设置为min
      • 否则,将您当前位置的值增加 1。

这是一个粗略的实现,涉及一个数组。

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];
            }
        }
    }
}

在 10 个整数元素的数组上,使用a = 1b = 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]
于 2013-02-10T15:59:45.740 回答
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(" ");
  }
}
于 2013-02-10T15:47:57.843 回答