或者说输入的字符为EOF就停止,然后把sb里的字符全部输出来
解决方案 »
- import出了些问题
- getContentPane()有作用吗?
- 一个奇怪的问题,请高手帮帮我
- 字符集,不懂
- Primitive Data Types的一些问题
- 怎样用验证一个字符是否在arraylist中存在(在线等)
- 微软的开发方式,高手、斑竹们都进来看一下
- tomcat4 怎样配置呀?如果能够的话jb5怎样用tomcat4呀?
- Myeclipse 导包为什么导出的是压缩文件,而不是jar类型
- Java小白,不知道这个程序怎么改,运行时提示的错误是数组越界,但这个string args【】不知道怎么定义长度
- 请教高手,关于事件和事件源的问题,
- thinking in java中的一个例子,我稍微改了一下,就死循环了,指导下!
StringBuffer sb = new StringBuffer();
Scanner reader=new Scanner(System.in);
while(true){
String str = reader.next();
if(!"EOF".equals(str)){
sb.append(str);
}else{
break;
}
}
System.out.println(sb.toString());
}
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();
}
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左边
* 是为了方式空指针异常。要习惯这样写
*
*/
}