例如,如何将值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());
答案 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
的字母。