拆分输入

时间:2013-10-29 10:14:10

标签: java string input split

我正在制作一个程序,用户输入他的3号码,然后将这些个别号码与我的号码进行比较。

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

3 个答案:

答案 0 :(得分: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
}

答案 1 :(得分: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++;
}

答案 2 :(得分: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);
            }
        }
    }

E.g。 String userInput = "1 2 3 4 5 df 6"; //输出1 2 3 4 5

有几个优点:

  • 如果用户输入不正确,则无需调用parseInt方法,可以抛出未经检查的异常NumberFormatException
  • 返回基本类型int(或您选择的任何其他类型)的值
  • 输入源可以轻松更改为FileInputStreamReadableReadableByteChannelPath