黑马程序员技术交流社区
标题:
求助一个基础问题
[打印本页]
作者:
吴亨
时间:
2011-12-14 12:09
标题:
求助一个基础问题
为何输入"bye"时,程序并没有结束?
class TestString {
public static void main (String[] args) {
int ch = 0;
byte[] array1 = new byte[1024];
int pos = 0;
String str = null;
System.out.println("please input your char:");
while(true) {
try{
ch = System.in.read();
}
catch(Exception ex) {}
switch(ch) {
case '\r':
break;
case '\n':
{
str = new String(array1,0,pos);
pos = 0;
System.out.println(str);
if(str.equalsIgnoreCase("bye"))
return;
}
default:
array1[pos++] = (byte)ch;
}
}
}
}
作者:
王冀
时间:
2011-12-14 12:19
class TestString {
public static void main (String[] args) {
int ch = 0;
byte[] array1 = new byte[1024];
int pos = 0;
String str = null;
System.out.println("please input your char:");
while(true) {
try{
ch = System.in.read();
}
catch(Exception ex) {}
switch(ch) {
case '\r':
break;
case '\n':
{
str = new String(array1,0,pos);
pos = 0;
System.out.println(str);
if(str.equalsIgnoreCase("bye"))
return;
break; //这里缺少了break
}
default:
array1[pos++] = (byte)ch;
}
}
}
}
复制代码
作者:
小春同学
时间:
2011-12-14 12:28
本帖最后由 熊明春 于 2011-12-14 12:30 编辑
V1.0——判断是否等于bye那句代码少个break;
V2.0——唉,动作慢了,代码看了看,想一想,差个break,编辑,发表回复,刷新,有人抢先一步了{:soso_e127:} )
作者:
马伟奇
时间:
2011-12-14 12:56
在匹配换行\n的地方,加上break;跳出来就好了
作者:
马伟奇
时间:
2011-12-14 12:57
class TestString {
public static void main (String[] args) {
int ch = 0;
byte[] array1 = new byte[1024];
int pos = 0;
String str = null;
System.out.println("please input your char:");
while(true) {
try{
ch = System.in.read();
}
catch(Exception ex) {}
switch(ch) {
case '\r':
break;
case '\n':
{
str = new String(array1,0,pos);
pos = 0;
System.out.println(str);
if(str.equalsIgnoreCase("bye"))
return;
break; //加上就可以了
}
default:
array1[pos++] = (byte)ch;
}
}
}
}
作者:
刘基军
时间:
2011-12-14 13:22
switch语句使用时,一般需适当的加上“break;”语句
switch(i)
{
case 1:
语句;break;
case 2:
case 3:
语句;break;
default:
语句;
}
复制代码
作者:
吴亨
时间:
2011-12-15 12:10
那return不是直接让整个循环结束了吗?
作者:
窦超
时间:
2011-12-19 22:18
return的话就直接跳出当前方法,而break只是跳出当前循环而已
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2