java怎么中怎么可以把从键盘输入的数字存在int数组里?

我从键盘随机的输入数字,怎么可以存在int数组里
例如,我输入12 36 58 4 8
然后可以存在在a[]={12,36,58,4,8}

我的想法,将每次输入的数字存在list中,比如
list.add(12);
list.add(36);
list.add(58);
list.add(4);
list.add(8);
然后再定义数组a[] = list.toArray();追问

我刚才试着弄了一下 sca是scanner的对象,array是个ArrayList集合
while(sca.hasNextInt()){
array.add(sca.nextInt());}
System.out.println(array);
但我发现,用while循环把数据都是可以添加进去的,但是下面的输出语句什么也没有输出。
这是什么问题

追答

array是对象,输出方式可以选择for(int a:array){
System.out.println(a);

}

追问

我的意思是当把System.out.println(array);放在while循环里时是可以输出的,但是放在外面就不可以,是不是while的作用域的问题???

追答

我来写个完整的吧:

List array = new ArrayList();
while(sca.hasNextInt()){
array.add(sca.nextInt());}

}
// 这里打印array
for(Integer i: array){
System.out.println(i);

}

请再次尝试!!!

追问

这个是怎么回事?我觉得就是array只在while里添加了数据,出了while后array就有成空集合了

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-06-25
String st = new Scanner(System.in); 
String[] st1 = st.split(" ");
int[] a = new int[st1.length];
for(int i = 0;i<st1.length;i++){
    a[i] = Integer.parseInt(st1[i]);
}

追答

没注意到,不好意思;

应该这样写:

Scanner scan = new Scanner(System.in);
String st = scan.nextLine();

相似回答