当前位置: 代码迷 >> Java Web开发 >> 求助,如何结束SWITCH结构下的DO-WHILE循环
  详细解决方案

求助,如何结束SWITCH结构下的DO-WHILE循环

热度:425   发布时间:2009-10-06 22:34:25.0
求助,如何结束SWITCH结构下的DO-WHILE循环
import java.util.Scanner;

public class liling33{
    public static void main (String[] args){

        
        
        System.out.println("\t\t\t\t欢迎使用我行我素购物管理系统>真情回馈\n\n");
        System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *");
        System.out.println("\t\t\t\t\t1. 幸运大放送\n\n");
        System.out.println("\t\t\t\t\t2. 幸运抽奖\n\n");
        System.out.println("\t\t\t\t\t3. 生日问候\n\n");

        System.out.println("请输入数字:\n\n");
        System.out.println("请选择,输入数字或按0返回上一级菜单\n\n");
        Scanner input =new Scanner (System.in);
        int num=input.nextInt();
        switch(num){
            case 0:
                System.out.println("执行返回上一级菜单\n\n");
                System.out.println("程序结束");
            case 1:

                System.out.println("执行幸运大放送\n\n");
                System.out.println("程序结束");
                break;
            case 2:
   
                System.out.println("执行幸运抽奖\n\n");


                    System.out.println("请输入4位会员号:\n");

                    int custNo=input.nextInt();
                    int qianwei=custNo/1000;
                    int baiwei=custNo%1000/100;
                    int shiwei=custNo%100/10;
                    int gewei=custNo%10;
                    int total;
                    total=qianwei+baiwei+shiwei+gewei;
                    if (total<=20){
                        System.out.println(custNo+"\t\t谢谢您的支持\n\n");
                        }else {
                        System.out.println(custNo+"\t\t是幸运客户,获精美MP3一个。\n\n");
                        }

                    String answer ="y";
                    System.out.println("\n是否继续(y/n)");
                    answer =input.next();
                    do{
                            if (total<=20){
                                System.out.println(custNo+"\t\t谢谢您的支持\n\n");
                            }else {
                                System.out.println(custNo+"\t\t是幸运客户,获精美MP3一个。\n\n");
                            }
                        

                    }while(answer.equals("y"));
                    System.out.println("程序结束");
                break;

            

                    

            case 3:
            
                System.out.println("执行生日问候\n\n");
                System.out.println("程序结束");
                break;

            default:
            
                System.out.println("输入错误。\n\n");
                System.out.println("程序结束");
                break;
               
        }

    }
}

各位大虾,我每次运行程序到:while(answer.equals("y"));按Y都会陷入死循环,请问:如何结束它并输入下一个?????(按N会循环一次)


谢谢!!

搜索更多相关主题的帖子: 结束  结构  SWITCH  

----------------解决方案--------------------------------------------------------
忘了说运行环境了,在J2EE上面。
呵呵,我刚学的。
----------------解决方案--------------------------------------------------------
只要别人输入y了,你的循环就开始了,然而你在循环里却没有改变y值,当然会死循环
----------------解决方案--------------------------------------------------------
是不是可以用CONTINUE跳出循环?
----------------解决方案--------------------------------------------------------
CONTINUE的作用可以理解成起到个过滤的作用。

----------------解决方案--------------------------------------------------------
你的do放错位置咯。
do{
    //你想要的循环体        

}while(条件);
----------------解决方案--------------------------------------------------------

    String answer = "y";
        while (answer.equals("y")) {
            System.out.println("请输入您的会员号: ");
            int vip = input.nextInt();
            int gewei = vip % 10;
            int shiwei = vip / 10 % 10;
            int baiwei = vip / 100 % 10;
            int qianwei = vip / 1000;
            int sum = gewei + shiwei + baiwei + qianwei;
            if (sum > 20) {
                System.out.println("恭喜您中奖了。请去领奖,精美MP3一个哦。\n\n");

            } else {
                System.out.println("感谢您的支持!欢迎下次再来!\n\n");

            }
            System.out.println("是否继续(y/n)");
            answer = input.next();
        }
      
----------------解决方案--------------------------------------------------------
import java.util.Scanner;

public class A{
     public static void main (String[] args){

        
         
         System.out.println("\t\t\t\t欢迎使用我行我素购物管理系统>真情回馈\n\n");
         System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *");
         System.out.println("\t\t\t\t\t1. 幸运大放送\n\n");
         System.out.println("\t\t\t\t\t2. 幸运抽奖\n\n");
         System.out.println("\t\t\t\t\t3. 生日问候\n\n");

        System.out.println("请输入数字:\n\n");
         System.out.println("请选择,输入数字或按0返回上一级菜单\n\n");
         Scanner input =new Scanner (System.in);
         int num=input.nextInt();
         switch(num){
             case 0:
                 System.out.println("执行返回上一级菜单\n\n");
                 System.out.println("程序结束");
                 break;
             case 1:

                System.out.println("执行幸运大放送\n\n");
                 System.out.println("程序结束");
                 break;
             case 2:
                 String answer ="y";
                 
                System.out.println("执行幸运抽奖\n\n");
                   do{

                    System.out.println("请输入4位会员号:\n");
                    int custNo = input.nextInt();

                  
                  
                     int qianwei=custNo/1000;
                     int baiwei=custNo%1000/100;
                     int shiwei=custNo%100/10;
                     int gewei=custNo%10;
                     int total;
                     total=qianwei+baiwei+shiwei+gewei;
               if (total<=20){
                         System.out.println(custNo+"\t\t谢谢您的支持\n\n");
                         }else {
                         System.out.println(custNo+"\t\t是幸运客户,获精美MP3一个。\n\n");
                        }
                  
                  
                  

                    }while(answer.equals("y"));
                     System.out.println("\n是否继续(y/n)");
                     answer =input.next();
                     System.out.println("程序结束");
                     
                 break;

            
               

            case 3:
            
                 System.out.println("执行生日问候\n\n");
                 System.out.println("程序结束");
                 break;

            default:
            
                 System.out.println("输入错误。\n\n");
                 System.out.println("程序结束");
                 break;
                 
        }

    }
}
----------------解决方案--------------------------------------------------------
  相关解决方案