如何跳出内循环执行外循环?
import java.util.Scanner;
public class TestDemo {
//主菜单选择显示项
public void showMainChioce() {
System.out.println("*************************");
System.out.println(" ***主菜单*** ");
System.out.println(" 1--商品管理 ");
System.out.println(" 2--购物车 ");
System.out.println(" 0--退出 ");
System.out.println("*************************");
}
//商品管理菜单选择显示项
public void showGoodsChioce() {
System.out.println("**********************************");
System.out.println(" ***商品管理*** ");
System.out.println(" 1--商品信息导入 ");
System.out.println(" 2--显示所有商品信息 ");
System.out.println(" 9--返回上级菜单 ");
System.out.println("***********************************");
}
//商品管理信息的选择
public void goodsChioce() {
showGoodsChioce();
System.out.println("请输入对应数字对商品进行管理:");
Scanner sc = new Scanner(System.in);
while(true) {
switch(sc.next()){
case "1":
System.out.println("选择了第一项");
break;
case "2":
System.out.println("选择了第二项");
break;
case "9":
showMainChioce();
break;
default:
System.out.println("输入错误!请重新选择!");
goodsChioce();
}
}
}
public static void main(String[] args) {
//根据需求设计完成主流程实现
TestDemo td = new TestDemo();
td.showMainChioce();
System.out.println("请输入对应数字进行操作:");
Scanner scanner = new Scanner(System.in);
while(true) {
switch(scanner.next()) {
case "1":
td.goodsChioce();
break;
case "2":
System.out.println("你选择了2--购物车");
break;
case "0":
System.out.println("你选择了0--退出");
System.exit(0);
break;
default:
System.out.println("输入错误!请重新选择!");
td.showMainChioce();
}
}
}
我的循环从商品管理返回上一级菜单的时候,循环还在商品管理的循环中
正在回答
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | 同学可以给每个层循环都设置一个布尔变量,控制该变量跳出循环。 //设置外层循环变量 boolean flag1 = true ; while (flag1) { //主菜单调用 //int n = sc.nextInt(); switch (n) { case 1 : //设置内层循环变量 boolean flag2 = true ; while (flag2) { //商品管理菜单调用 n = sc.nextInt(); switch (n) { case 1 : //导入。。 break ; 。。。。 case 9 : //使其跳出循环 flag2 = false ; break ; default : //错误提示 } } break ; case 2 : //设置内层循环变量 boolean flag3 = true ; while (flag3) { //购物车菜单调用 n = sc.nextInt(); switch (n) { case 1 : 。。。。 case 9 : //跳出内层循环 flag3 = false ; break ; } } break ; case 0 : 。。。。 break ; } } |
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧