如何通过给定正数使用递归在 Java 中构建二维数组?

How to build 2d array in Java using recursion by giving a positive number?

我有一个代码要求用户输入一个正数。

使用递归,系统应该显示这样的二维数组:

如果用户输入数字 6

输出:

0

1 0

2 1 0

3 2 1 0

4 3 2 1 0

5 4 3 2 1 0

这是我的代码:

package question1;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

public class PositiveNumber {

    public static void main(String[] args){

        int  n = 0;
        List<Integer>listofNumbers = new ArrayList<Integer>();
        Scanner sc = new Scanner(System.in);

        System.out.println("Choose a positive number");
        for(int i = 0 ; i< listofNumbers.size(); i++){
            listofNumbers.add(i);
             n = sc.nextInt();
            printInReverse(listofNumbers);
        }

    }

    public static void printInReverse(List<Integer>Listofnum){
        List temp = new ArrayList(Listofnum);
        Collections.reverse(temp);
        System.out.println(temp);
    }
}

它不显示任何输出。它只是要求用户选择一个数字。

n = sc.nextInt()移出for循环,将终止条件改为i < n

但是,您不需要构建、复制和反转列表 - 您可以简单地使用另一个 for 循环。

您的列表为空,因此您的 FOR 中的条件将始终为 0。 您需要在进入数组之前获取输出,或者使用 do-while