62,634
社区成员




public static void main(String[] args){
StringBuffer sb = new StringBuffer();
Scanner reader=new Scanner(System.in);
String str = "";//先定义一个字符串变量,用于接收键盘输入的值
while(true){
str = reader.next();//注意next()这个方法,它是个线程等待,不输入一直等
if(!"EOF".equals(str)){//如果当前输入的值不等于EOF
sb.append(str);//添加到sb中
}else{//否则
break;//跳出循环
}
}
System.out.println(sb.toString());
/**
* 补充:
* 你之前犯的错误是:
* 1、没有把键盘输入的值放到循环中,
* 因为每次都要重新赋值去判断所以要
* 放到循环中。
* 2、因为要判断输入的值是否等于EOF那
* 必须用到判断啊,判断用什么?当然是if啦
* 3、判断字符相等用equals()方法,==是判断
* 内存存放的地址是否相同。而且把EOF放到equals左边
* 是为了方式空指针异常。要习惯这样写
*
*/
}
public static void main(String[] args) {
Scanner isr = new Scanner(System.in);
StringBuffer sb = new StringBuffer();
while(isr.hasNextLine()){
String str = isr.nextLine();
if(str.equals("EOF")){
break;
}
sb.append(str);
}
System.out.println(sb.toString());
isr.close();
}