使用分隔符的问题

时间:2013-08-13 05:51:46

标签: java delimiter

基本上,我正在尝试从键盘输入中收集变量并使用逗号分割变量。虽然它似乎没有起作用。这可能是我忽略的一些简单但已经尝试了一段时间而无法弄清楚的。

public static void main(String[] args) {

      Scanner scan = new Scanner(System.in);

      scan.useDelimiter(",");

      String str1 = scan.next();
      String str2 = scan.next();
      double num1 = scan.nextDouble();
      double num2 = scan.nextDouble();

      System.out.println(str1);
      System.out.println(str2);
      System.out.println(num1);
      System.out.println(num2);

2 个答案:

答案 0 :(得分:2)

我编译了你的代码并运行了以下输入

您好,世界,23,42,

它工作正常。但请注意尾随“,”。这是因为要完成最终输入,需要将其分隔。如果不是这样,您可以使用正则表达式为分隔符使用逗号或新行来解决此问题。所以如果你使用这行代码:

scan.useDelimiter("[,|\\n]");

进行以下输入工作

您好,世界,23,32

答案 1 :(得分:1)

你必须提供如下的输入,然后这将有效。

 k,h,2,3,

你必须输入,结束输入。

 name,name2,54.7,98.6,

或按以下方式更改您的代码

   Scanner scan = new Scanner(System.in);
    scan.useDelimiter(",|\\n");  // this will accept input name,name2,54.7,98.6
    String str1 = scan.next();
    String str2 = scan.next();
    double num1 = scan.nextDouble();
    double num2 = scan.nextDouble();

    System.out.println(str1);
    System.out.println(str2);
    System.out.println(num1);
    System.out.println(num2);