首页 > 解决方案 > 我如何递归地计数到小于 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));
}

标签: javaarraysalgorithmloopsimplementation

解决方案


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

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

推荐阅读