我想制作一个扫描仪,扫描一个由空格分隔的字符串中的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();
答案 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:按任意字符以逃避循环。