向数组添加数字

时间:2015-03-23 18:54:35

标签: java arrays

我想制作一个扫描仪,扫描一个由空格分隔的字符串中的10个数字。比如这个:

3 4 5 12 32 32 23 54 65 67。 然后我想将每个数字解析成int,并将每个数字存储在一个int数组中。有谁知道如何做到这一点?感谢。

    String numbers;
    int num[] = new num[10];
    Scanner scan = new Scanner(System.in);

    System.out.println("Type something.");
    numbers = scan.nextLine();

2 个答案:

答案 0 :(得分:1)

如果数字在同一行,您可以使用split函数创建一个字符串数组,然后将它们转换为int。

String[] numbersSplit = numbers.split();

for(int i = 0; i < numbersSplit.length; i++) {
    num[i] = Integer.parseInt(numbersSplit[i]);
}

答案 1 :(得分:1)

默认情况下,扫描程序使用空格作为分隔符。所以你可以试试下面的内容。为了证明这个理论而增加了一个系统。

public static void main(String[] args) {
    int num[] = new int[10];
    Scanner scan = new Scanner(System.in);
    int i = 0;
    while (scan.hasNext("\\d+")) {
        num[i] = scan.nextInt();
        i++;
    }
    for (int j = 0; j < num.length; j++) {
        System.out.println("num" + num[j]);
    }

}

如果你有空格以外的分隔符,请使用这样的语法。

Scanner scan = new Scanner(System.in).useDelimiter(pattern);

PS:按任意字符以逃避循环。