どのように私は、メインメニューに戻ることができますか?

Inspirit C:

私はそれが2番目のメニューから選択された場合、それは最初のメニューに戻りたいというプロジェクトがあります。

以下は一例です:

import java.util.Scanner;

public class SAMPLE {

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);

これは最初のメニューです。

    System.out.println("Enter choice: ");
    System.out.println("1 = A");
    System.out.println("2 = B");
    int choice1 = input.nextInt();

    do {

これは、2番目のメニューです。

        System.out.println("Another choice:");
        System.out.println("1 = C");
        System.out.println("2 = D");
        System.out.println("3 = Go back");
        int choice2 = input.nextInt();

        switch (choice2) {
        case 1: System.out.println("nice");
            break;
        case 2: System.out.println("nicee");
            break;

私は3を選択した場合、それは最初のメニューに戻る必要がありますが、私は方法がわかりません。

        case 3: System.out.println("How can I go back to the first menu? HELP!");
            break;
        }

    } while (choice1 > 2);

    System.out.println("END OF THE PROGRAM");
}
}
RR_IL:

私は、関数にコードを分割することをお勧め。

ケース3時には - あなたはあなたの新しい関数を呼びます。

このようなもの:

static int mainMenu(Scanner inputScanner)
{
System.out.println("Enter choice: ");
System.out.println("1 = A");
System.out.println("2 = B");
return inputScanner.nextInt(); //Assume valid input. you should add a valid check
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);

int Choice1  = mainMenu(input);
do { 

    System.out.println("Another choice:");
    System.out.println("1 = C");
    System.out.println("2 = D");
    System.out.println("3 = Go back");
    int Choice2 = input.nextInt();

    switch (Choice2) {
    case 1: //DO Y
        break;
    case 2: //DO X
        break; 
    case 3: Choice1 = mainMenu(input);
        break;
    }

} while (Choice1 > 2); 
//END logic
}

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=277189&siteId=1