A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大漠孤烟 中级黑马   /  2014-4-27 22:23  /  1471 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package com.study.io;

import java.io.IOException;
import java.io.InputStream;

public class ReadIn {

        /**
         * @param args
         */
        public static void main(String[] args)throws IOException{
       
                //创建缓冲区容器
                StringBuilder sb=new StringBuilder();
                //键盘读取流
                InputStream in=System.in;
       
                /*
                int by=in.read();
                int by1=in.read();
               
               
                System.out.println(by);
                System.out.print(by1);
*/
        /*         int ch=0;
                 while((ch=in.read())!=-1){
                         System.out.println(ch);
                 }
                 */
                //定义变量,记录读取字节
                int ch=0;
                 while((ch=in.read())!=-1){//键盘输入  ch=in.read();
                         //存储钱判断是否是换行标记,标记不用存储
                         if(ch=='\r'){
                                 continue;
                         }
                         if(ch=='\n'){
                                 String s=sb.toString();
                                 if("OK".equals(s)){
                                         break;
                                         System.out.println(s.toUpperCase());  //这里提示有错误
                                         sb.delete(0, sb.length());
                                 }else{
                                         sb.append((char)ch);
                                 }
                         }
                 }
               
        }


}
报错:Exception in thread "main" java.lang.Error: Unresolved compilation problem:
        Unreachable code

        at com.study.io.ReadIn.main(ReadIn.java:42)
我对照毕老师的笔记敲的 不知道哪里出问题。。

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 神马都是浮云

查看全部评分

3 个回复

倒序浏览
  1.    if(ch=='\n'){
  2.                                  String s=sb.toString();
  3.                                  if("OK".equals(s)){
  4.                                          break;
  5.                                          System.out.println(s.toUpperCase());  //这里提示有错误
  6.                                          sb.delete(0, sb.length());
  7.                                  }else{
  8.                                          sb.append((char)ch);
  9.                                  }
  10.                          }
复制代码

else应该在if外面;不然你根本没存储到数据啊!

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 赞一个!

查看全部评分

回复 使用道具 举报
本帖最后由 fei_xiong 于 2014-4-28 08:57 编辑

被/**/ 圈起来的部分执行不到啊,因为有break,跳出循环了,应该放到else里面,或者放到break前面
  1. if("OK".equals(s)){

  2. 04.                                         break;

  3. 05.                                    /*     System.out.println(s.toUpperCase());  //这里提示有错误

  4. 06.                                         sb.delete(0, sb.length()); */

  5. 07.                                 }else{

  6. 08.                                         sb.append((char)ch);

  7. 09.                                 }
复制代码
回复 使用道具 举报
多谢,难道我上班偷偷看毕老师的笔记敲错案了、、、
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马