java中如何将一串连续的数字存入整形数组中

我希望用户输入为:23 12 4 454 34 111 23
数据之间用空格分开,然后怎么样才能实现存入整形数组中,用户输入数据的个数已知,由用户决定.各位大虾如果有什么好的办法,希望能不吝赐教.

    String str = "23,12,3,454,34,111,23";
    String[] arr = str.split(",");
    int[] intArr = new int[arr.length];
    for(int i = 0; i< arr.length; i++){
        intArr[i] = Intger.parseInt(arr[i]);
    }追问

这样要人为加逗号的啊,可我事先不知道数据的,只知道格式,程序运行的时候能接受数据,并存入数组,怎么做?多谢指教哈

追答String[] arr = str.split(" "); //换成空格即可。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-26
StringTokenizer tokens = new StringTokenizer(inputString);
int[] values = new int[tokens.countTokens()];
int i = 0;
while (tokens.hasMoreTokens()) {
    try{
        values[i++] = Integer.parseInt(tokens.nextToken());
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}

第2个回答  2014-06-26
很简单。你先让用户输入数据个数为m,然后new int[m]定义整形数组。
然后while(int i=0;i<m;i++)做个循环M次,每次输入一个整数N,将N的值赋值给数组。追问

实际数据是在程序运行时接收的,数据在编程时是未知的。程序在接收数据后,有什么方法,可以将之存入数组?还望指教

相似回答