黑马程序员技术交流社区
标题:
IO键盘录入中的的一个问题?????????????
[打印本页]
作者:
乔九
时间:
2013-2-25 10:29
标题:
IO键盘录入中的的一个问题?????????????
package com.itheima;
import java.io.*;
public class ReadInDemo {
/**
* @param args
*/
public static void main(String[] args)throws IOException {
// TODO Auto-generated method stub
InputStream in=System.in;
StringBuilder sb=new StringBuilder();
while(true)
{
int ch=in.read();
if(ch=='\r');
continue;
if(ch=='\n')
此句执行不到??????????
{
String s=sb.toString();
if("over".equals(s))
break;
System.out.println(s.toUpperCase());
sb.delete(0, s.length());
}
else
sb.append((char)ch);
}
}
}
报错信息:Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Unreachable code
作者:
付玉光
时间:
2013-2-25 11:59
哥们,在此代码中,因你在continue;语句前没加条件判断语句,所以while循环
每执行到contine;都会跳过本次后面的代码而重新执行whele循环体中的内容。
你的这种做法类似于在return语句后再加其它代码一样,是永远执行不到的。
作者:
刘凯
时间:
2013-2-25 12:10
if(ch=='\r');
多了个分号,导致continue;没有运行 '\r' 被写进sb 进而读到'\n'时 s="over\r” 不能跳出循环
姐就是断货 if(ch=='\n')执行到了 只是没能读到"over" 不能跳出循环
作者:
杨剑
时间:
2013-2-25 14:17
因为你写的这句代码if(ch=='\r')后面加了分号,下面的continue和if语句没有关系,每次都会读到continue;就然后会一直继续当前循环,所以不会执行下面的代码。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2