不知道这句话错在哪里,需求描述:进入系统主菜单后,提示用户输入数字,然后根据选择进入相应的功能模块,如果用户输入错误,可以重复输入,知道输入正确,执行相应的操作后退出循环.代码如下:import java.util.Scanner;public class page {\x05public static void main(String [] args){\x05\x05System.out.println("");\x05\x05System.out.println("请选择操作数:");\x05\x05//二级目录中用户键入的数字:Num2\x05\x05Scanner input=new Scanner(System.in);\x05\x05int Num2=input.nextInt();\x05\x05switch(Num2){\x05\x05case 1://客户信息管理\x05\x05\x05break ;\x05\x05case 2://购物结算\x05\x05\x05break;

问题描述:

不知道这句话错在哪里,
需求描述:
进入系统主菜单后,提示用户输入数字,然后根据选择进入相应的功能模块,如果用户输入错误,可以重复输入,知道输入正确,执行相应的操作后退出循环.
代码如下:
import java.util.Scanner;
public class page {
\x05public static void main(String [] args){
\x05\x05System.out.println("");
\x05\x05System.out.println("请选择操作数:");
\x05\x05//二级目录中用户键入的数字:Num2
\x05\x05Scanner input=new Scanner(System.in);
\x05\x05int Num2=input.nextInt();
\x05\x05switch(Num2){
\x05\x05case 1://客户信息管理
\x05\x05\x05break ;
\x05\x05case 2://购物结算
\x05\x05\x05break;
\x05\x05case 3://真情回馈
\x05\x05\x05break;
\x05\x05case 4://注销用户
\x05\x05\x05break;
\x05\x05default:
\x05\x05\x05System.out.println("输入错误!请重新输入:");
\x05\x05\x05break;
\x05\x05}
\x05\x05
\x05\x05
\x05}
}

因为你执行完这句话后,又回到do-while的顶部,重新执行,这个结构里面的第一行也是
fir = input.nextInt();
所以重复了,
你注释的哪一行删除就行了,只保留上面的一个