如何在Java中的同一行中输入两个或一个整数作为输入?

时间:2018-02-24 04:10:12

标签: java input io java.util.scanner

例如,如何将值1 0或值2取值,然后在程序的后半部分使用。假设1将数字0添加到列表中,2打印出一个短语。现在我只知道如何使用

在同一行上取两个数字
Scanner sc = new Scanner(System.in); // receives input for x y
int x = Integer.parseInt(sc.next());
int y = Integer.parseInt(sc.next());

2 个答案:

答案 0 :(得分:2)

只需在术语之间添加空格:

Scanner scanner = new Scanner(System.in);
int[] values = new int[2];
String[] arguments = scanner.nextLine().split(" ");
for(int i = 0; i < arguments.length && i < values.length; i++){
    values[i] = Integer.parseInt(arguments[i]);
}
scanner.close();

在第2行,您指定最大输入

&#34;&#34;在第3行;你可以指定术语之间的内容

第2行&amp; 5您可以指定术语类型

答案 1 :(得分:1)

只需添加@Devon Rutledge的答案,Scanner类就会分隔标记(在​​本例中为数字),条件是它们之间有1个或多个空格。

因此,正如上面提到的Devon,你应该在输入之间添加空格。

但是,上面发布的答案与普通sc.next()完全相同,虽然有一个问题,即如果在输入之间输入两个空格,则会产生五个错误。因此,您的代码本身没有问题,只是输入。

如果您 想要接受没有空格的单位数字,那么您可以试试这个:

Scanner sc = new Scanner(System.in);
sc.useDelimiter("");
int x = sc.nextInt();
int y = sc.nextInt();

此外,最好使用sc.nextInt(),因为sc.next()甚至会接受不能转换为int的字母。