如何在java中读取逗号分隔的整数输入

如何在java中读取逗号分隔的整数输入,java,java.util.scanner,delimiter,Java,Java.util.scanner,Delimiter,当我的输入为1 2 3(以空格分隔)时,此程序工作正常 但是,当我的输入为1,2,3(用逗号分隔)时,如何修改我的程序您可以对非数字项使用分隔符,它会将任何非数字标记为分隔符 例如: import java.io.*; import java.util.*; class usingDelimiters { public static void main(String args[]) { Scanner dis=new Scanner(System.in);

当我的输入为1 2 3(以空格分隔)时,此程序工作正常
但是,当我的输入为1,2,3(用逗号分隔)时,如何修改我的程序

您可以对非数字项使用分隔符,它会将任何非数字标记为分隔符

例如:

import java.io.*;
import java.util.*;
class usingDelimiters
{
    public static void main(String args[])
    {
        Scanner dis=new Scanner(System.in);
        int a,b,c;
        a=dis.nextInt();
        b=dis.nextInt();
        c=dis.nextInt();
        System.out.println("a="+a);
        System.out.println("b="+b);
        System.out.println("c="+c);
    }
}
usedimiter
方法采用
模式
字符串
表示
模式

完整示例:

dis.useDelimiter("\\D");
输入(或)

  • 1,2,3
  • 123
输出

Scanner dis=new Scanner(System.in);
dis.useDelimiter("\\D");
int a,b,c;
a=dis.nextInt();
b=dis.nextInt();
c=dis.nextInt();
System.out.println(a + " " + b + " " + c);
dis.close();
注意

  • 不要忘记关闭
    扫描仪
  • 请参阅for
    模式
    s,了解分隔输入的更多乐趣
您可以使用nextLine方法读取字符串,并使用split方法以逗号分隔,如下所示:

1 2 3
此方法仅适用于以逗号分隔的3个值


如果需要更改值的数量,可以使用循环从向量中获取值。

逗号分隔整数==逗号分隔值==CSV==使用OpenCSV?手是可以的,如果它是玩具代码,但为了认真工作,考虑使用OpenCsv。
public static void main(String args[])
    {
        Scanner dis=new Scanner(System.in);
        int a,b,c;
        String line;
        String[] lineVector;

        line = dis.nextLine(); //read 1,2,3

        //separate all values by comma
        lineVector = line.split(",");

        //parsing the values to Integer
        a=Integer.parseInt(lineVector[0]);
        b=Integer.parseInt(lineVector[1]);
        c=Integer.parseInt(lineVector[2]);

        System.out.println("a="+a);
        System.out.println("b="+b);
        System.out.println("c="+c);
    }