黑马程序员技术交流社区
标题:
请教字节流键盘输入 报错?
[打印本页]
作者:
大漠孤烟
时间:
2014-4-27 22:23
标题:
请教字节流键盘输入 报错?
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)
我对照毕老师的笔记敲的 不知道哪里出问题。。
作者:
a3330682
时间:
2014-4-27 22:56
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);
}
}
复制代码
else应该在if外面;不然你根本没存储到数据啊!
作者:
fei_xiong
时间:
2014-4-28 08:55
本帖最后由 fei_xiong 于 2014-4-28 08:57 编辑
被/**/ 圈起来的部分执行不到啊,因为有break,跳出循环了,应该放到else里面,或者放到break前面
if("OK".equals(s)){
04. break;
05. /* System.out.println(s.toUpperCase()); //这里提示有错误
06. sb.delete(0, sb.length()); */
07. }else{
08. sb.append((char)ch);
09. }
复制代码
作者:
大漠孤烟
时间:
2014-4-28 21:59
多谢,难道我上班偷偷看毕老师的笔记敲错案了、、、
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2