中易网

java中switch中case选择错误重新继续选择

答案:2  悬赏:0  
解决时间 2021-01-19 12:39
java中switch中case选择错误重新继续选择
最佳答案
import java.util.Scanner;
public class xuanze {

public static void main(String[]args){
xitong();
}
public static void xitong(){
System.out.println("\t欢迎使用本系统\t");
System.out.println("\t1.登录系统\t");
System.out.println("\t2.退出\t");
Scanner input=new Scanner(System.in);
System.out.println("请选择,输入数字:");
int a=input.nextInt();
switch (a){
case 1:
System.out.println("1.客户信息管理");
System.out.println("2.购物结算");
System.out.println("3.真情回馈");
System.out.println("4.注销");
System.out.println("请继续输入数字选择:");
int b=input.nextInt();
switch(b){
case 1:
System.out.println("1.显示所有客户信息");
System.out.println("2.添加客户信息");
System.out.println("3.修改客户信息");
System.out.println("4.查询客户信息");
break;
case 2:
System.out.println("暂无服务");
break;
case 3:
System.out.println("1.幸运大放送");
System.out.println("2.幸运抽奖");
System.out.println("3.生日问候");
break;
default:
System.out.println("暂无服务");
}
break;
case 2:
System.out.println("谢谢您的使用!");
break;
default:
System.out.println("输入错误,请重新输入");
xitong();
}
}
}
//这样可以实现你要的功能,用的是迭代,每次输入错误后会再重新执行这个函数
全部回答
public static void main(String[]args){
    System.out.println("---------------------");
    System.out.println("欢迎使用本系统,请选择:");
    System.out.println("1.登录系统");
    System.out.println("2.退出");
    System.out.println("---------------------");
    Scanner input = new Scanner(System.in);
    home(input, null);
}
private static void home(Scanner input, Integer tag){
    // 若tag不为空,则表示下级菜单返回上级菜单的标识,直接进入case选项;若tag为空,则表示正常流程,需要用户输入
    tag = tag == null ? input.nextInt() : tag;  
    switch (tag){
        case 1:
            System.out.println("---------------------");
            System.out.println("请选择以下服务:");
            System.out.println("1.客户信息管理");
            System.out.println("2.购物结算");
            System.out.println("3.真情回馈");
            System.out.println("4.注销");
            System.out.println("---------------------");
            menu(input, null);
            break;
        case 2:
            System.out.println("---------------------");
            System.out.println("谢谢您的使用!");
            System.out.println("---------------------");
            break;
        default:
            System.out.println("---------------------");
            System.out.println("输入错误, 请重新选择:");
            System.out.println("---------------------");
            home(input, null);
            break;
    }
}
private static void menu(Scanner input, Integer tag){
    tag = tag == null ? input.nextInt() : tag;
    switch(tag){
        case 1:
            System.out.println("---------------------");
            System.out.println("1.显示所有客户信息");
            System.out.println("2.添加客户信息");
            System.out.println("3.修改客户信息");
            System.out.println("4.查询客户信息");
            System.out.println("返回上一级请按 *");
            System.out.println("---------------------");
            back(input, 1);
            break;
        case 2:
            System.out.println("---------------------");
            System.out.println("暂无服务");
            System.out.println("---------------------");
            break;
        case 3:
            System.out.println("---------------------");
            System.out.println("1.幸运大放送");
            System.out.println("2.幸运抽奖");
            System.out.println("3.生日问候");
            System.out.println("返回上一级请按 *");
            System.out.println("---------------------");
            back(input, 3);
            break;
        case 4:
            System.out.println("---------------------");
            System.out.println("注销成功!");
            System.out.println("---------------------");
            break;
        default:
            System.out.println("---------------------");
            System.out.println("输入错误, 请重新选择:");
            System.out.println("---------------------");
            menu(input, null);
            break;
    }
}
private static void back(Scanner input, Integer tag){
    String c = input.next();
    switch(c){
        case "*":
            home(input, 1);
            break;
        default:
            System.out.println("---------------------");
            System.out.println("输入错误, 请重新选择:");
            System.out.println("---------------------");
            menu(input, tag);
            break;
    }
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
关于运动会为健儿们加油的稿子,不要诗啊!
知道什么水能停几十年吗??? [抱拳][抱拳][抱
维也纳钢琴艺术培训学校地址在什么地方,想过
DNF新版光怪陆离怎么样
19岁,被催婚了,怎么办,
青冈县农村信用合作社地址有知道的么?有点事
问:陶艺是什么?为什么有家长认为上陶艺课程
陕西安康离牛头店镇有多远
“黄鹤偶乘沧海月 白云常带楚江秋”出自哪部
玉米夹是4齿好还是6齿好
远征Online的宠物设定
DNF刺客怎么样 刺客厉害吗
盛世雅歌艺术中心(济宁兖州市)地址有知道的么
女同性恋的词汇称呼
当归15克,红花10克,桃仁15克,川芎12克,益
推荐资讯
星星水洗(商业街214号星星水洗)怎么去啊,有
【推荐】呵呵,PV可以理解为什么的简写?
是谁在拯救蒙古崩木
求助。谁有3DMAX2017版本帮我把模型降到2016
狗猫鼠中作者仇猫的原因
谁有男明星的LZ。求
皇球台球俱乐部地址在哪,我要去那里办事
求教about的用法。
中南路小学足球场地址在什么地方,想过去办事
企业是“先做大”还是“先做强”
急,这是什么意思
CAD布局中的多张图(每张图都有图框),有批
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?