如何在同一行中读取两个数字输入,在 Java 中用空格分隔



例如: 22 42

这些是由空格分隔的两位数字。请建议我可以使用的任何 Java 函数将其读取为两个单独的数字。

您可以读取输入行并将其拆分为数组吗?

Scanner sc = new Scanner(System.in)
String userInput = sc.nextLine();
int [] inputSplit = userInput.split("\s+");

在此处阅读有关\s+String模式的更多信息

在此处阅读有关Scanner的更多信息

使用 Scanner#nextInt() 并将值分配为

String input = "22 44";
Scanner s = new Scanner(input);
if (s.hasNextInt()) {
    a = s.nextInt();
}
if (s.hasNextInt()) {
    b = s.nextInt();
}
s.close();

如果希望输入中包含多个int,请改用while循环。

String input = "22 44 55 66";
Scanner s = new Scanner(input);
List<Integer> ints = new ArrayList<Integer>();
while (s.hasNextInt()) {
    ints.add(s.nextInt());
}
s.close();
System.out.println("How many ints? " + ints.size()); // 4

要改为从控制台读取数字,请在System输入InputStream之上创建一个Scanner。而且,完成后不要忘记打电话给Scanner#close()

Scanner s = new Scanner(System.in);

可以使用 split 方法从一行中解析整数。

Scanner input = new Scanner(System.in);
System.out.println("Enter integer separated by spaces: ");
String input = sc.nextLine();
String[] numberString = input.split("\s+");  

现在你有一个String数组numberString你可以把它转换为整数数组,然后使用它 -

for(int i = 0;i < numberString.length;i++)
{
   //assuming you have an int array numbers[]
   numbers[i] = Integer.parseInt(numberString[i]);
}  

希望它会有所帮助。
多谢。

也许这会有所帮助

Scanner sc = new Scanner(System.in);
System.out.println("Enter Numbers");
String in = sc.nextLine();
String [] in1 = in.split("\s+");
System.out.println("Numbers");
for( String n: in1)
{System.out.println(n);
}

输出:

输入数字1 2 3 4 5数字12345

Scanner sc = new Scanner(System.in);
String s1 = sc.next();
String s2 = sc.nextLine();
s2 = s2.replace(" ","");
int num1 = Integer.parseInt(s1);
int num2 = Integer.parseInt(s2);

希望这是有帮助的。

相关内容

  • 没有找到相关文章

最新更新