如何通过给定正数使用递归在 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
我有一个代码要求用户输入一个正数。
使用递归,系统应该显示这样的二维数组:
如果用户输入数字 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