输入由空格分隔

时间:2014-12-12 07:05:35

标签: java

输入:

1 10

如何在两个输入之间提供空格,以便编译器可以以不同方式获取两个输入。

我尝试使用

st1=in.nextInt();
in.next();
st2=in.nextInt();

3 个答案:

答案 0 :(得分:2)

只需删除in.next();电话即可。 nextInt()已经"忽略"空格。并且无需使用split()创建数组并手动转换数字"#34;。只需让扫描仪像您一样使用nextInt()处理此问题:

Scanner s = new Scanner("1 10 9 5");
while(s.hasNextInt()) {
    int number = s.nextInt();
    System.out.println(number);
}

关于这一点的好处是,如果用户没有提供数字(例如NumberFormatException),您就不会在其他答案中获得a b c

答案 1 :(得分:1)

以下行将为您提供一个String数组,其中包含两个数字作为字符串:

String[] numbersFromUser = in.nextLine().split(" ");

假设用户正确格式化输入。

这当然也适用于大于2的多个参数。

然后,您可以继续将numbersFromUser[0]numbersFromUser[1]转换为您需要的int值:

int st1 = Integer.valueOf(numbersFromUser[0]).intValue();
int st2 = Integer.valueOf(numbersFromUser[1]).intValue();

答案 2 :(得分:0)

使用:

data = line.split("\s");
first = data[0];
second = data[1];
third = data[2];
System.out.println(first)
System.out.println(second);
System.out.println(third);

输入:

1 5 6

输出:

1
5
6