例如:
22 42
这是由空格分隔的两位数字。请建议我可以使用任何Java函数将其作为两个单独的数字来读取。
答案 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);
希望这有用。