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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

//                使用循环控制菜单一直存在
                while(true) {
                        int index = sc.nextInt();
               
                        switch (index) {
                        case 1: ArrayTools.arrayReverse(arr);
                                        break;
                        case 2: ArrayTools.arrayFind(arr);
                                        break;
//                        这里我多次尝试使用return有结束循环和程序的效果,这是为什么?之前一直使用break不能结束,请问有别的方法退出这个循环吗?
                        case 3:        return;
                        }
                       

10 个回复

倒序浏览
方法1:在switch语句的外面再加一个break;
方法2:在while前面加上标签,break标签
回复 使用道具 举报
不是很明白,不过支持了!!
回复 使用道具 举报
break只是退出一层,你有一个for循环,还有一个switch
回复 使用道具 举报 1 0
可以这样, 在while() 前面定义一个boolean 类型的 变量 flag .boolean flag =true .在 case 3: 后面改变标记 flag=false; 然后在break; 就可以了.
回复 使用道具 举报
当你键盘录入的数为3.的时候就会结束循环了.
回复 使用道具 举报
陈文广 发表于 2016-3-17 22:04
可以这样, 在while() 前面定义一个boolean 类型的 变量 flag .boolean flag =true .在 case 3: 后面改变标 ...

原来有这个方法 阿里嘎多!
回复 使用道具 举报
你的while语句是一个循环,break能跳出循环,但是break在switch中就是结束当前switch语句,你跳出switch后,你的break就用完了,你得在switch外面的 下面再加一个
或者也可以在内循环break 后面(你想退出while的case的那个break)加上标签  类似于 label之类的,并且在while上面也打上同样标签 label:要加上:
回复 使用道具 举报
落星追恒 发表于 2016-3-19 02:47
原来有这个方法 阿里嘎多!

是的~相当于其他程序中的goto语句,不过一般来说是不太推荐使用的。。
回复 使用道具 举报
不理解,请详细的描述一下
回复 使用道具 举报
来签到啦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马