关于java循环的问题
System.out.println("\t\t\t\t欢迎使用Myshopping管理系统\n");
System.out.println("*************************************************************\n");
System.out.println("\t\t\t\t1.客户信息管理\n");
System.out.println("\t\t\t\t2.购物结算\n");
System.out.println("\t\t\t\t3.真情回馈\n");
System.out.println("\t\t\t\t4.注销\n");
System.out.println("*************************************************************");
boolean isRight;
Scanner input = new Scanner(System.in);
System.out.print("请选择输入数字:");
int num = input.nextInt();
isRight=(num < 5 && num > 0);
isRight = true;
do {
if (num < 5 && num > 0) {
switch (num) {
case 1:
System.out.println("客户信息管理");
break;
case 2:
System.out.println("购物结算");
break;
case 3:
System.out.println("真情回馈");
break;
case 4:
System.out.println("注销");
break;
}
} else {
System.out.print("输入错误,请重新输入数字:");
num = input.nextInt();
}
} while (isRight=false);
System.out.print("程序结束");
这段内容我运行后,在第一个输入1-4.能正确出来选项,并且有程序结束的字。输入0或者是5以上的数字,会出现输入错误,请重新输入数字。但是,现在的问题是,当出现输入错误,请重新输入数字后,我无论输入多少的数字,都是提示程序结束。要求是输入错误,会继续显示输入错误,请重新输入数字,直到输入正确,显示相应的选项,并且后面显示程序结束。
------解决方案--------------------
System.out.println("\t\t\t\t欢迎使用Myshopping管理系统\n");
System.out.println("*************************************************************\n");
System.out.println("\t\t\t\t1.客户信息管理\n");
System.out.println("\t\t\t\t2.购物结算\n");
System.out.println("\t\t\t\t3.真情回馈\n");
System.out.println("\t\t\t\t4.注销\n");
System.out.println("*************************************************************");
boolean isRight;
Scanner input = new Scanner(System.in);
System.out.print("请选择输入数字:");
//isRight = true;
do {
int num = input.nextInt();
isRight=(num < 5 && num > 0);
if (isRight) {//如果数字在1-5
switch (num) {
case 1:
System.out.println("客户信息管理");
break;
case 2:
System.out.println("购物结算");
break;
case 3:
System.out.println("真情回馈");
break;
case 4:
System.out.println("注销");
break;
}
} else {
System.out.print("输入错误,请重新输入数字:");
//num = input.nextInt();
}
} while (!isRight);//数字不在1-5
System.out.print("程序结束");
改了下,不知道可以了不,你看下