如何在Java中的字符串中的空格之间导出数字?

kos*_*sar 0 java string

我想String从键盘输入这样的"5 4 34".如何在空格之间导出数字?还想将它们导出到int[]数组中,并在屏幕上打印它们.

ami*_*mit 5

您可以使用String.split("\\s")拆分Stringto String[]然后Integer.parseInt()在每个元素上使用以获取数字int.

或者,您可以使用a Scanner及其nextInt()方法

由于其他人已经向您展示了如何完成它split(),这里有一个如何使用的示例Scanner,直接来自System.in(我假设你想要的,因为你说你从键盘上读取它,当然你可以使用任何Readable或者String建立你的Scanner):

码:

Scanner inputScanner = new Scanner(System.in);
Scanner scanner = new Scanner(inputScanner.nextLine());
List<Integer> list = new ArrayList<Integer>();
while (scanner.hasNextInt()) {
    list.add(scanner.nextInt());
}
Integer[] arr = list.toArray(new Integer[0]);
Run Code Online (Sandbox Code Playgroud)

或者如果你想要一个int[]而不是一个Integer[]而不是最后一行,请使用:

int[] arr = new int[list.size()];
int i = 0;
for (Integer x : list) { 
    arr[i++] = x;
}
Run Code Online (Sandbox Code Playgroud)

要打印数组,只需打印以下结果Arrays.toString():

System.out.println(Arrays.toString(arr));
Run Code Online (Sandbox Code Playgroud)