BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入数据");
String str = null;
str = buf.readLine();上面的代码只能实现输入一个字符串,一回车就执行了,但是现在我想输完一个字符串以后,回车在下一行继续输入,即
>hello
>world
请问各位高手们如何实现?

解决方案 »

  1.   

    从控制台输入数据 推荐使用Scanner,如果你是专门学习IO的话可以无视我
    import java.util.Scanner;public class ScannerDemo {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);        
            String s1=scanner.next();
            String s2=scanner.next();
            System.out.println(s1);
            System.out.println(s2);    }
    }
    运行结果,输入
    abc
    def
    输出
    abc
    def
      

  2.   


    你也不说清楚你想要干什么,下面是简单的输入回显的输入exit则退出
    public class ScannerDemo {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);        while(true){
                String s=scanner.next();
                System.out.println(s); //如果不想回显可以注解这一行
                if(s.equals("exit"))
                    break;
            }
        }
    }
      

  3.   

    readLine()读一行
    而楼主的要求明显是两行
    楼主的代码完成不了
      

  4.   

    想要多行输入,可以用循环,如果输入行数确定,可以使用for,不确定使用do,while满足条件结束输入。至于输入的数据可以存在ArrayList,或者Vecotor中,当然数组也行。
      

  5.   

    用数组写了一个,仅供参考:import java.io.*;public class ContinueInput
    {
    static final int SIZE=4;                //初始数组及增量大小
    public static void main(String[] args) throws Exception
    {
    String[] inputString=new String[SIZE]; //最大一次输入SIZE行。如果不够可以加大。
    String[] endString=null; //保存最后结果。
    BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
    int count=0; //输入行数记录。
    System.out.println("请输入数据");
    System.out.print(">");
    String tempString=null;
    int newSize=SIZE;
    //循环输入,直接回车结束。
    while(true)
    {
    tempString=buf.readLine(); //读入本行。 if(tempString.equals("")) //是否直接回车?
    {
    endString=new String[count]; //是,把数组紧凑。
    System.arraycopy(inputString,0,endString,0,count);
    break; //退出循环。
    } inputString[count++]=tempString; //保存输入内容。
    if(count==newSize) //数组满了吗?
    {
    newSize+=SIZE; //满了,按SIZE大小增大数组。
    String[] newString=new String[newSize];
    System.arraycopy(inputString,0,newString,0,inputString.length);
    inputString=newString;
    } System.out.print(">");
    }
    //输出保存的内容.
    for(String s:endString)
    {
    System.out.println(s);
    }
    }
    }