在java中输入大小未知的数组

在java中输入大小未知的数组,java,arraylist,input,Java,Arraylist,Input,如何输入长度可能不同的数组?输入以空格分隔,并在按enter键时结束 public class ArrayInput { public static void main(String args[]){ ArrayList<Integer> al = new ArrayList<Integer>(); Scanner sc = new Scanner(System.in); while(){//what conditi

如何输入长度可能不同的数组?输入以空格分隔,并在按enter键时结束

public class ArrayInput {
    public static void main(String args[]){
        ArrayList<Integer> al = new ArrayList<Integer>();
        Scanner sc = new Scanner(System.in);
        while(){//what condition to use here?
            al.add(sc.nextInt());
        }
    }
}

使用
sc.nextLine()
读取整行,然后使用
\\s+
读取
split()
。这样,您就不必担心输入的大小(元素的数量)。使用
Integer.parseInt()
将字符串解析为整数。

由于所有输入都在一行中,因此可以读取整行,然后将其拆分为整数:

String line = sc.nextLine();
String[] tokens = line.split(" ");
int[] numbers = new int[tokens.length];
for (int i=0; i<numbers.length;i++)
    numbers[i] = Integer.parseInt(tokens[i]);
String line=sc.nextLine();
String[]tokens=line.split(“”);
int[]number=新的int[tokens.length];

对于(int i=0;i所有整数都在同一行吗?如果是这样,只需从
扫描仪中读取一行即可。您可以参考它,它对字符串、整数等有各种方法
“\\s+”
而不是
String line = sc.nextLine();
String[] tokens = line.split(" ");
int[] numbers = new int[tokens.length];
for (int i=0; i<numbers.length;i++)
    numbers[i] = Integer.parseInt(tokens[i]);