在java中拆分几个整数

时间:2015-01-06 23:13:56

标签: java split

我是java的新手。我试图提示用户输入4个整数后跟一个空格,最后将它们打印出来。我对如何写出来并使用split(“”);

的顺序感到困惑
import java.util.Scanner;

public class calculations {
    public static void main(String[] args) {

        Scanner Keyboard = new Scanner(System.in);

        System.out.println("Enter 4 integer numbers here: ");

        int numbers = keyboard.nextInt();
        // Need split(" "); here?







    } // End main string args here
} // End class calculations here

感谢任何帮助或建议。我已经在stackoverflow上查看了其他方法,但不知怎的,我一直在收到错误。

3 个答案:

答案 0 :(得分:2)

  1. 使用keyboard.nextLine
  2. 在一个字符串中读取它
  3. 使用String的split方法获取字符串数组
  4. 使用Integer.parseInt
  5. 将数组的每个元素转换为int
  6. 打印您的整体。

答案 1 :(得分:1)

import java.util.Scanner;

public class calculations {
    public static void main(String[] args) {

        Scanner Keyboard = new Scanner(System.in);

        System.out.println("Enter 4 integer numbers here: ");

        // Scan an entire line (containg 4 integers separated by spaces):
        String lineWithNumbers = Keyboard.nextLine();
        // Split the String by the spaces so that you get an array of size 4 with
        // the numbers (in a String).
        String[] numbers = lineWithNumbers.split(" ");

        // For each String in the array, print them to the screen.
        for(String numberString : numbers) {
            System.out.println(numberString);
        }

    } // End main string args here
} // End class calculations here

此代码将打印所有数字,如果您确实想要对整数执行某些操作(例如数学运算),您可以将String解析为int,如下所示:

int myNumber = Integer.parseInt(numberString);

希望这有帮助。

答案 2 :(得分:1)

如果建议使用Scanner类的功能从用户输入中检索数字:

Scanner keyboard = new Scanner(System.in);
int[] numbers = new int[4];
System.out.println("Enter 4 integer numbers here: ");
for (int i = 0; i < 4 && keyboard.hasNextInt(); i++) {
  numbers[i] = keyboard.nextInt();
}
System.out.println(Arrays.toString(numbers));

此代码创建一个大小为 4 的数组,然后遍历用户输入,从中读取数字。如果输入有四个数字,或者如果用户输入的数字不同于数字,它将停止解析输入。例如,如果他输入1 blub 3 4,则数组将为[1, 0, 0, 0]

与过度答案的nextLine方法相比,此代码具有一些优势:

  • 您不必关心整数转换(异常处理)
  • 您可以将这些号码写入一行或每行编号

如果您想阅读任意数量的数字,请改用List

List<Integer> numbers = new ArrayList<>();
System.out.println("Enter some integer numbers here (enter something else than a number to stop): ");
while (keyboard.hasNextInt()) {
  numbers.add(keyboard.nextInt());
}
System.out.println(numbers);