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