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

时间:2015-03-07 09:13:48

标签: java user-input

例如: 22 42

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

5 个答案:

答案 0 :(得分:0)

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

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

详细了解\\s+String模式here

详细了解Scanner here

答案 1 :(得分:0)

您可以使用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]);
}  

希望它会有所帮助 非常感谢。

答案 2 :(得分:0)

使用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

要从控制台中读取数字,请在Scanner输入 System之上创建InputStream。并且,完成后不要忘记致电Scanner#close()

Scanner s = new Scanner(System.in);

答案 3 :(得分:0)

可能会有所帮助

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 数字 1 2 3 4 5

答案 4 :(得分:0)

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);

希望这有用。