0

我正在制作一个程序,让用户输入他的 3 个数字,然后将这些单独的数字与我拥有的数字进行比较。

如何将这些使用输入数字拆分并保存为单个整数?

4

3 回答 3

2

String.split()Integer.parseInt()是你的朋友。

String input = "1 2 3";
String[] spl = input.split(" "); //Or another regex depending on the input format
for (String s : spl) {
    System.out.println(Integer.parseInt(s)); // or store them as you like
}
于 2013-10-29T10:29:47.700 回答
0
String input = "12 23 12";
String[] split = input.split(" "); // or "\t" according to need
int[] arr = new int[split.length];
int count = 0;
for(String s:split)
{
    arr[count] = Integer.parseInt(s).intValue();
    count++;
}
于 2013-10-29T10:33:40.833 回答
0

Java 1.5 中添加了一个非常方便的类,称为Scanner.

这是我的示例程序,它读取String、查找所有十进制数字并将它们打印到控制台。分隔符默认为空格

    public static void main(String[] args) {
        String userInput = "1 2 3 4 5 6";
        try (Scanner scanner = new Scanner(userInput)) {
            scanner.useRadix(10);
            while (scanner.hasNextInt()) {
                int i = scanner.nextInt();
                System.out.println(i);
            }
        }
    }

例如String userInput = "1 2 3 4 5 df 6";// 输出 1 2 3 4 5

有几个优点:

  • 无需调用方法,如果用户输入不正确parseInt,可能会抛出未经检查的异常。NumberFormatException
  • 返回原始类型的值int(或您选择的任何其他值)
  • 输入源可以轻松更改为File, InputStream, Readable, ReadableByteChannel, Path
于 2013-10-29T11:52:39.047 回答