如何使用拆分函数java拆分多行输入

如何使用拆分函数java拆分多行输入,java,compiler-construction,tokenize,stringtokenizer,lexical-analysis,Java,Compiler Construction,Tokenize,Stringtokenizer,Lexical Analysis,我想使用split函数拆分多行输入,但我尝试了它,但它不起作用 public static void main(String [] args) { String TER = ","; int i=0; java.util.Scanner a = new java.util.Scanner(System.in); StringBuilder b = new StringBuilder(); String str; while (!(str = a

我想使用split函数拆分多行输入,但我尝试了它,但它不起作用

    public static void main(String [] args)
{
    String TER = ",";
  int i=0;
    java.util.Scanner a = new java.util.Scanner(System.in);
    StringBuilder b = new StringBuilder();
    String str;
    while (!(str = a.nextLine()).equals(TER)) {
        b.append(str);//here i am getting the multiple line input
    }        
    String parts[] = str.split("\\ ");
    while(i<parts.length)
    {
        System.out.println(parts[i]);
        i++;
    }
}

}
publicstaticvoidmain(字符串[]args)
{
字符串TER=“,”;
int i=0;
java.util.Scanner a=新的java.util.Scanner(System.in);
StringBuilder b=新的StringBuilder();
字符串str;
而(!(str=a.nextLine()).equals(TER)){
b、 append(str);//这里是多行输入
}        
字符串部分[]=str.split(\\”;

而(i您使用str而不是b.toString()进行拆分)

公共类循环测试{
公共静态void main(字符串[]args){
字符串TER=“,”;
int i=0;
java.util.Scanner a=新的java.util.Scanner(System.in);
StringBuilder b=新的StringBuilder();
字符串str;
System.out.println(“输入多行输入”);//打开控制台窗口
而(!(str=a.nextLine()).equals(TER)){
b、 append(str);//这里是多行输入
}
System.out.println(b.toString());
字符串部分[]=b.toString().split(\\”;

while(此答案中的代码有一个小错误。执行此代码时,控制台窗口不会打开,因为在输入块之前没有print语句。要解决此问题,需要在第8行之前添加print语句。例如:
System.out.println(“输入以“,”结尾的多行输入”)
您是如何运行代码的?当我按原样测试代码时,它工作正常。我创建了名为LoopTest.java的文件,然后在命令行上运行javac LoopTest.java,然后运行java LoopTest。
public class LoopTest {
    public static void main(String [] args) {
        String TER = ",";
        int i=0;
        java.util.Scanner a = new java.util.Scanner(System.in);
        StringBuilder b = new StringBuilder();
        String str;
        System.out.println("Enter a multiple line input"); //opens console window
        while (!(str = a.nextLine()).equals(TER)) {
            b.append(str);//here i am getting the multiple line input
        }
        System.out.println(b.toString());
        String parts[] = b.toString().split("\\ ");
        while(i<parts.length) {
            System.out.println(parts[i]);
            i++;
        }
    }
}