如何递归计数小于 n

How do I recursively count up to less than n

我正在努力解决循环和数组应用程序的问题。

我有一个代表循环极限的变量“n”,即

如果 n = 3,数组将如下所示:

arr[1,2,3,1,2,3,1,2,3];

如果 n = 4,它看起来像:

arr[1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4];

到目前为止,这是我的代码,有人请让我知道我在实现上述问题时所犯的错误...

public static void main(String[] args) {
    
    countingUp(3);

}

public static void countingUp(int n) {
    int[] arr = new int[n * n];
    int k = n;
    for(int i = 0; i < n; i++) {
        for(int j = 0; j < n; j++) {
            arr[i] = n ;
        }
    }
    
    System.out.println(Arrays.toString(arr));
}

这是你犯的最大错误...

arr[i] = n ;

您应该在每个长度为 n 的区间后更新值,这可以由循环 运行 i 控制,并且每个区间内的值可以由循环 j 控制。请参阅我在下面的代码中所做的一项更改...

public static void main(String[] args) {
    
    countingUp(3);

}

public static void countingUp(int n) {
    int[] arr = new int[n * n];
    int k = n;
    for(int i = 0; i < n; i++) {
        for(int j = 0; j < n; j++) {
            arr[i*n+j] = j+1 ;
        }
    }
    
    System.out.println(Arrays.toString(arr));
}