Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 限制开关语句顺序_Java - Fatal编程技术网

Java 限制开关语句顺序

Java 限制开关语句顺序,java,Java,我正在用java编写一个菜单,使用switch语句和while循环。我希望找到一种方法,确保用户在进入菜单二之前完成菜单一 下面是一段示例代码: (请注意,我通常使用setter和getter传递数据,这只是我为这个问题编写的一个快速程序) 导入java.util.Scanner 公共班机{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int option = 0;

我正在用java编写一个菜单,使用switch语句和while循环。我希望找到一种方法,确保用户在进入菜单二之前完成菜单一

下面是一段示例代码: (请注意,我通常使用setter和getter传递数据,这只是我为这个问题编写的一个快速程序)

导入java.util.Scanner

公共班机{

public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);

    int option = 0;
    String Fname = null;
    String Sname = null;
    int Age = 0;



    while(option !=5){

        System.out.println("1. Enter Firstname");
        System.out.println("2. Enter Surname");
        System.out.println("3. Enter Age");
        System.out.println("4. Display Details");
        System.out.println("5. System Exit");

        option = sc.nextInt();

        switch(option){

        case 1:
            System.out.println("Please enter your Firstname >");
            Fname = sc.next();

            break;

        case 2:
            System.out.println("Please enter your Surname >");
            Sname = sc.next();

            break;

        case 3:
            System.out.println("Please enter your Age >");
            Age = sc.nextInt();

            break;

        case 4:
            System.out.println("Firstname = " + Fname + "\nSurname = " + Sname + "\nAge = " + Age);
            break;

        case 5:
            System.out.println("You have chosen to System Exit!!!");
            System.exit(0);

            break;

            default:
                System.out.println("Invalid Entry!! \nPlease try again");
        }


    }

}
}

我试图阻止在他们的名字之前输入他们的姓氏

有人能帮忙吗



谢谢

首先只显示名字。然后,当用户输入first name时,从该方法调用姓氏方法。使用方法调用而不是开关大小写。

首先仅显示名字。然后,当用户输入名字时,从该方法调用姓氏方法。使用方法调用而不是开关大小写。

我试图阻止用户在名字之前输入姓氏。为什么?您的代码看起来应该可以正常工作。不使用switch怎么样?这似乎是最简单的解决方案,可能是所有输入选项的case语句中的If块。如果数据已经输入,If语句将跳过。这只是一个简单的程序,类似于我的分级单元项目。我必须使用Switch语句来允许我的项目工作。我的项目是一个酒店预订系统,前两个菜单选项是注册和登录。用户必须在登录前注册。我试图阻止用户在名字之前输入姓氏。为什么?您的代码看起来应该可以正常工作。不使用switch怎么样?这似乎是最简单的解决方案,可能是所有输入选项的case语句中的If块。如果数据已经输入,If语句将跳过。这只是一个简单的程序,类似于我的分级单元项目。我必须使用Switch语句来允许我的项目工作。我的项目是一个酒店预订系统,前两个菜单选项是注册和登录。用户在登录之前必须注册。不要使用开关。按所需顺序使用从一个方法到另一个方法的方法调用。这样,用户只有在输入名字后才能输入姓氏。请参见上面的评论。我不理解开关的用法。如果你能详细解释一下,我也许能帮你。很抱歉,我花了一些时间回复你。我和其他项目度过了一个忙碌的周末。我不能分享我的分级单元项目,因为它是一项考试,而且是保密的。但我可以尽可能详细地解释它。不要使用开关。按所需顺序使用从一个方法到另一个方法的方法调用。这样,用户只有在输入名字后才能输入姓氏。请参见上面的评论。我不理解开关的用法。如果你能详细解释一下,我也许能帮你。很抱歉,我花了一些时间回复你。我和其他项目度过了一个忙碌的周末。我不能分享我的分级单元项目,因为它是一项考试,而且是保密的。但我可以尽可能详细地解释它。
public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);

    int option = 0;
    String Fname = null;
    String Sname = null;
    int Age = 0;



    while(option !=5){

        System.out.println("1. Enter Firstname");
        System.out.println("2. Enter Surname");
        System.out.println("3. Enter Age");
        System.out.println("4. Display Details");
        System.out.println("5. System Exit");

        option = sc.nextInt();

        switch(option){

        case 1:
            System.out.println("Please enter your Firstname >");
            Fname = sc.next();

            break;

        case 2:
            System.out.println("Please enter your Surname >");
            Sname = sc.next();

            break;

        case 3:
            System.out.println("Please enter your Age >");
            Age = sc.nextInt();

            break;

        case 4:
            System.out.println("Firstname = " + Fname + "\nSurname = " + Sname + "\nAge = " + Age);
            break;

        case 5:
            System.out.println("You have chosen to System Exit!!!");
            System.exit(0);

            break;

            default:
                System.out.println("Invalid Entry!! \nPlease try again");
        }


    }

}