当前位置: 代码迷 >> Java相关 >> 有关switch的问题,帮帮忙!
  详细解决方案

有关switch的问题,帮帮忙!

热度:104   发布时间:2009-07-29 23:05:16.0
有关switch的问题,帮帮忙!
请教大家一个问题,
如果我输入的不是1-3之间的数字那它就会提示("请选择正确的验证方法!");
或在我输入一个a 那它就会提示("请选择正确的验证方法!");
然后程序就会停止了,这是为什么啊?
有什么办法能让它跳回再接收用户输入呢?
谢谢……
    public void log(){
        System.out.println("请选择验证方法:\n1.密码\t\t2.指纹\t\t3.卡号");
        Scanner imple=new Scanner(System.in);
        try{
        int id=imple.nextInt();
        switch(id){
        case 1:
            cipher.validate();
            break;
        case 2:
            dactylogram.validate();
            break;
        case 3:
            ka.validate();
            //break;
        default:
            System.out.println("请选择正确的验证方法!");
            break;
        }
        }catch(InputMismatchException ex){
            System.out.println("请选择正确的验证方法!");
        }
    }
搜索更多相关的解决方案: switch  

----------------解决方案--------------------------------------------------------
本人的QQ:243195622
希望能结识更多的朋友来交流学习!
----------------解决方案--------------------------------------------------------
用while语句循环
----------------解决方案--------------------------------------------------------
使用
do{}
while();语句就可以实现;

boolean con;            //判断输入是否正确
Scanner imple=new Scanner(System.in);
  int id=imple.nextInt();
do{
    con = false;
    switch(XX)
    …………
    …………
    default :
        con = true;     //当程序输入别的数时
        System.out.print("请重新输入:");
        id=imple.nextInt();
}
while(con);
----------------解决方案--------------------------------------------------------
输入a,提示("请选择正确的验证方法!");
是因为跑出异常了,所以程序终止了。


switch后面的值只能是int类型或枚举类型
----------------解决方案--------------------------------------------------------
回复 3楼 lampeter123
谢谢……
还有个问题就是在MyEclipse里缩进的快捷键是那个啊?
----------------解决方案--------------------------------------------------------
鼠标右键选source->format,MyEclipse可以自动调整代码格式,包括缩进
----------------解决方案--------------------------------------------------------
调整代码格式:
Ctrl + Shift + F
----------------解决方案--------------------------------------------------------
学习下
回帖是一种美德!传说每次回
帖即可获得 10 分可用积分!
----------------解决方案--------------------------------------------------------
不好意思我也是新手
----------------解决方案--------------------------------------------------------
  相关解决方案