BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入数据");
String str = null;
str = buf.readLine();上面的代码只能实现输入一个字符串,一回车就执行了,但是现在我想输完一个字符串以后,回车在下一行继续输入,即
>hello
>world
请问各位高手们如何实现?
System.out.println("请输入数据");
String str = null;
str = buf.readLine();上面的代码只能实现输入一个字符串,一回车就执行了,但是现在我想输完一个字符串以后,回车在下一行继续输入,即
>hello
>world
请问各位高手们如何实现?
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
你也不说清楚你想要干什么,下面是简单的输入回显的输入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;
}
}
}
而楼主的要求明显是两行
楼主的代码完成不了
{
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);
}
}
}