为了账号安全,请及时绑定邮箱和手机立即绑定

求教我这段代码为啥每次成功执行case=1之后还是会输出,break没起作用呢

public static void main(String[] args) {

// TODO Auto-generated method stub

String[] books ={"高数","语文 ","数学","政治","地理","汇编语言","C语言","遥感"};

int index; 

while (true){

System.out.println("输入命令行:1-按书名查找;2-按序号查找");

String book;

//此时需要返回获取到的输入的值,若返回的值为整型则执行判断

try{index = Book.input();

//注意switch的用法

switch(index) {

case 1:

System.out.println("请输入图书名:");

//此时需要编写按书名查找的方法,并返回书名

book = Book.bookname();

System.out.println("book:"+ book);

break;

case 2:

book = Book.numbook();

System.out.println("book:"+ book);

break;

default:

System.out.println("第一次输入的整型输入有误,请重新开始。");

continue;

}

}catch (Exception bne){

//此处异常是由于图书不存在抛出来的

System.out.println(bne.getMessage());//获得抛出异常的文字信息

continue;//若检测到图书不存在这个异常,处理为重新执行While循环

}

}

}

http://img1.sycdn.imooc.com//59b8caaa0001527003410112.jpg

正在回答

2 回答

while (true){......}

break 只跳出了switch,不能跳出while死循环。

所以“System.out.println("输入命令行:1-按书名查找;2-按序号查找");”仍然执行!

1 回复 有任何疑惑可以回复我~

把default放在最后试试

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

求教我这段代码为啥每次成功执行case=1之后还是会输出,break没起作用呢

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号