黑马程序员技术交流社区

标题: [if..else]为什么两段代码输出结果不同 [打印本页]

作者: 云惟桉    时间: 2012-4-28 20:54
标题: [if..else]为什么两段代码输出结果不同
       请各路好手指教~
  1. import java.io.*;
  2. class IODemo3
  3. {
  4. public static void main(String[] args) throws IOException
  5. {
  6. InputStream in = System.in;
  7. StringBuilder sb = new StringBuilder();

  8. while (true)
  9. {
  10. int ch = in.read();
  11. if(ch=='\r')
  12. continue;
  13. if(ch=='\n'){
  14. if("over".equals(sb.toString()))
  15. break;
  16. else{
  17. System.out.println(sb.toString());
  18. sb.delete(0,sb.length());
  19. }
  20. }
  21. sb.append((char)ch);
  22. }
  23. }
  24. }
复制代码

作者: Friends★    时间: 2012-4-28 21:09
我的执行结果是一样的!两种写法应该没有影响!
作者: 云惟桉    时间: 2012-4-28 21:20
Friends★ 发表于 2012-4-28 21:09
我的执行结果是一样的!两种写法应该没有影响!


这是第一份代码的执行结果,是正确的。



这是第二份代码的结果,就删掉了最后一个else,怎么在录入键盘的时候就多出两行,
并且不能按照自定义的条件:检测到"over"字符串时结束 进行终止。。。
我也觉得两种写法是一样的,但是看了结果真让我郁闷。。。
这问题也太不是一个问题了吧。。。是在是没辙才发上来的。









欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2