gpt4 book ai didi

Java ArrayList之ArrayList Scanner UserInput

转载 作者:行者123 更新时间:2023-12-02 05:23:02 24 4
gpt4 key购买 nike

我试图将用户输入存储到ArrayList 的ArrayList 中。

ArrayList<ArrayList<Integer>> a = new ArrayList<ArrayList<Integer>>();

例如,将其存储为[[1,2,3],[4,5],[6,1,8]]
下面是我的代码,

    Scanner input = new Scanner(System.in);
System.out.println("Enter a set of numbers:");
String line = input.nextLine();
String[] numbers = line.split(" +");

ArrayList<ArrayList<Integer>> a = new ArrayList<ArrayList<Integer>>();
ArrayList<Integer> a1 = new ArrayList<Integer>();

for(int i=0; i<numbers.length; i++) {
a1.add(new Integer(numbers[i]));

}
a.add(a1);

但是当我将其输入到终端时,它变成了 [[1,2,3,4,5,6,1,8]]
预先感谢您!

最佳答案

从上面的评论我很清楚你想做什么。

您在终端上输入了1 2 3 4 5 6 1 8。在您的程序中,您在 - 上使用了 split,因此我提供了一些指导来解决您的问题。

首先,将您的输入拆分为 - 以分隔数组

String[] numbersArray = line.split("-"); 
//e.g. input 1 2 3 + 4 5 6 + 1 8
//here you will get numbersArray as [1 2 3,4 5 6,1 8]
ArrayList<ArrayList<Integer>> a = new ArrayList<ArrayList<Integer>>();

现在,要分隔内部数组的各个元素,请使用 for 循环

for(int i=0; i<numbersArray.length; i++) {

String[] numbers= numbersArray[i].split(" "); //split on " "
//here you will get [1,2,3] for first iteration and 2nd [4,5,6], last [1,8]

ArrayList<Integer> a1 = new ArrayList<Integer>();
for(int j=0; j<numbers.length; j++) {
a1.add(new Integer(numbers[j]));
//here adding inner array list elements

}
//add to main array list
a.add(a1);
}

关于Java ArrayList之ArrayList Scanner UserInput,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26333027/

24 4 0