import java.util.Scanner;
public class trice {
 public static void main(String[]args){
 System.out.println("欢迎使用myshopping管理系统");
System.out.println("");
System.out.println("");
System.out.println("*************************");
System.out.println("\t1.客户信息管理");
System.out.println("\t2.购物结算");
System.out.println("\t3.真情回顾");
System.out.println("\t4.注销");
System.out.println("**************************");
System.out.println("请输入选项");
Scanner input = new Scanner(System.in);
int tger ;
boolean isRisght;
do{
tger = input.nextInt();
isRisght = true;
if(isRisght){
switch(tger){
case 1:
System.out.println("张浩,男,19岁");
break ;
case 2:
System.out.println("执行购物结算");
break ;
case 3 :
System.out.println("执行真情回顾");
break;
case 4 :
System.out.println("推出");
break ;
default:
System.out.println("输入不对");
}

}else{
System.out.println("输入正确的选项");
tger = input.nextInt();
}
}while(isRisght);
System.out.println("程序结束");
 }

}
为什么不跳出呢??

解决方案 »

  1.   


    case 4:

    System.out.println("退出");
    System.exit(0);
    break;
      

  2.   

    给while做个标记 跳出指定的标记import java.util.Scanner;
    public class Test {
    public static void main(String[]args){
    System.out.println("欢迎使用myshopping管理系统");
    System.out.println("");
    System.out.println("");
    System.out.println("*************************");
    System.out.println("\t1.客户信息管理");
    System.out.println("\t2.购物结算");
    System.out.println("\t3.真情回顾");
    System.out.println("\t4.注销");
    System.out.println("**************************");
    System.out.println("请输入选项");
    Scanner input = new Scanner(System.in);
    int tger ;
    boolean isRisght;
    flag:
    do{
    tger = input.nextInt();
    isRisght = true;
    if(isRisght){
    switch(tger){
    case 1:
    System.out.println("张浩,男,19岁");
    break ;
    case 2:
    System.out.println("执行购物结算");
    break ;
    case 3 :
    System.out.println("执行真情回顾");
    break;
    case 4 :
    System.out.println("推出");
    break flag;
    default:
    System.out.println("输入不对");
    } }else{
    System.out.println("输入正确的选项");
    tger = input.nextInt();
    }
    }while(isRisght);
    System.out.println("程序结束");
    }}
      

  3.   


    //你的while一直true while (!isRisght);
      

  4.   


    package csdn;import java.util.Scanner;public class Trice {
    public static void main(String[] args) {
    System.out.println("欢迎使用myshopping管理系统");
    System.out.println("");
    System.out.println("");
    System.out.println("*************************");
    System.out.println("\t1.客户信息管理");
    System.out.println("\t2.购物结算");
    System.out.println("\t3.真情回顾");
    System.out.println("\t4.注销");
    System.out.println("**************************");
    System.out.println("请输入选项");
    Scanner input = new Scanner(System.in);
    int tger;
    boolean isRisght;
    do {
    tger = input.nextInt();
    isRisght = true;
    if (isRisght) {
    switch (tger) {
    case 1:
    System.out.println("张浩,男,19岁");
    break;
    case 2:
    System.out.println("执行购物结算");
    break;
    case 3:
    System.out.println("执行真情回顾");
    break;
    case 4:
    System.out.println("退出");
    break;
    default:
    System.out.println("输入不对");
    } } else {
    System.out.println("输入正确的选项");
    tger = input.nextInt();
    }
    } while (!isRisght);
    System.out.println("程序结束");

    }}
      

  5.   

    6楼也有问题吧。3楼正解。标记快  就是  随便写几个字符 比如
    aa:{
    ....代码1
    ....代码2
    ....代码3
    break aa;
    }
    在break后面加上标记名,就跳出整个大括弧了。不写大括弧也可以。
      

  6.   

    你这样程序做的很差!
        你声明的boolean的类型,一直为true,有什么作用,你因该用个判断的逻辑,在某种情况下改变这个boolean的值!不然的话这个do..While是个死循环,程序永远不会终止了!
        虽然不知道你最终目的是什么!我把你的程序改动了一下,你看能不能用!import java.util.Scanner;
    import java.util.regex.Pattern;
    public class Test {
        public static void main(String[]args){
            System.out.println("欢迎使用myshopping管理系统");
            System.out.println("");
            System.out.println("");
            System.out.println("*************************");
            System.out.println("\t1.客户信息管理");
            System.out.println("\t2.购物结算");
            System.out.println("\t3.真情回顾");
            System.out.println("\t4.注销");
            System.out.println("**************************");
            System.out.println("请输入选项");
            Scanner input = new Scanner(System.in);
            int tger ;
            boolean isRisght;
    boolean isRisght2=true;
    tger = input.nextInt();
            flag:
            do{
    if(Pattern.compile("[0-9]").matcher(""+tger).find())
    {
                isRisght = true;
            }
    else
    {
        isRisght=false;

       if(isRisght){
                    switch(tger){
                        case 1:
                        System.out.println("张浩,男,19岁");
                        break ;
                        case 2:
                        System.out.println("执行购物结算");
                        break ;
                        case 3 :
                        System.out.println("执行真情回顾");
                        break;
                        case 4 :
                        System.out.println("推出");
                        break flag;
                        default:
                        System.out.println("输入不对");
                    }
    Scanner input1 = new Scanner(System.in);
    System.out.println("请问是否继续,(Y或y继续)任意字符退出");
    String str=input1.nextLine();
    if(str.charAt(0)=='y'||str.charAt(0)=='Y')
    {
    isRisght2=true;
    System.out.println("请输入选项");
    tger = input.nextInt();
    }
    else{
    isRisght2=false;
    }
                }else{
                    System.out.println("输入正确的选项");
                    tger = input.nextInt();
                }
            }while(isRisght2);
            System.out.println("程序结束");
        }}
      

  7.   


    import java.util.Scanner;
    public class trice {
    public static void main(String[] args) {
    System.out.println("欢迎使用MyShopping管理系统\n");
    System.out.println("*******************************");
    System.out.println("\t1.客 户 信 息 管 理");
    System.out.println("\t2.购 物 结 算");
    System.out.println("\t3.真 情 回 馈");
    System.out.println("\t4.注 销");
    System.out.println("*******************************\n");
    int choice; //用户选择
    boolean isRight; //输入是否正确
    System.out.print("请选择,输入数字:");
    Scanner input = new Scanner(System.in);
    do{
    isRight = true;
    choice = input.nextInt();
    /*
     * if(choice == 1){
    System.out.println("执行客户信息管理");
    }else if(choice == 2){
    System.out.println("执行购物结算");
    }else if(choice == 3){
    System.out.println("执行真情回馈");
    }else if(choice == 4){
    System.out.println("执行注销");
    }else{
    System.out.print("输入错误,请重新输入数字:");
    isRight = false;
    }
    */
    switch(choice){
    case 1:
    System.out.println("执行客户信息管理");
    break;
    case 2:
    System.out.println("执行购物结算");
    break;
    case 3:
    System.out.println("执行真情回馈");
    break;
    case 4:
    System.out.println("执行注销");
    break;

    default :
    System.out.print("输入错误,请重新输入数字:");
    isRight = false;

    break;



    }
    }while(!isRight);
    System.out.println("\n程序结束");
    }

    }
    谢谢大家了 ,我昨天晚上应经解决了。麻烦大家了,确实有点乱