0

ユーザーが 0 を入力したときに do-while ループを終了するにはどうすればよいですか?

ユーザーが F、G、H、および J を入力すると、プログラムは実行を継続します。ユーザーが 0 を入力すると、プログラムは終了します。

import java.util.Scanner;

public class P4Q5 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {


        Scanner sc = new Scanner(System.in);
        System.out.println("\nMain Menu: \n" +
                "Enter 0 to exit program\n" +
                "Enter F to display Faith\n" +
                "Enter G to display Grace\n" +
                "Enter H to display Hope\n" +
                "Enter J to display Joy\n");



        do {
             System.out.print("Enter your choice:");
               String s = sc.nextLine();
            char ch = s.charAt(0);
            if (( ch == 'F'))  {
                System.out.println("\nFaith\n");
            }

            else if  (( ch == 'G')) {
                System.out.println("\nGrace\n");
            }

            else if  (( ch == 'H')) {
                System.out.println("\nHope\n");
            }

            else if  (( ch == 'J')) {
                System.out.println("\nJoy\n");
            }



            else  {
                System.out.println("\nWrong option entered!!\n");
            }

        } while (ch == 'O');

              // TODO code application logic here
    }

}
4

4 に答える 4

2

while (ch != '0')代わりにどうwhile (ch == 'O')ですか?との違いに注意して0くださいO

于 2011-06-08T09:58:27.260 に答える
1

あなたのdoでこれを試してください:

if( ch == '0') break;
于 2011-06-08T09:56:09.603 に答える
1

これを試して:

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("\nMain Menu: \n" +
        "Enter 0 to exit program\n" +
        "Enter F to display Faith\n" +
        "Enter G to display Grace\n" +
        "Enter H to display Hope\n" +
        "Enter J to display Joy\n");



do {
     System.out.print("Enter your choice:");
       String s = sc.nextLine();
    char ch = s.charAt(0);
    if (( ch == 'F'))  {
        System.out.println("\nFaith\n");
    }

    else if  (( ch == 'G')) {
        System.out.println("\nGrace\n");
    }

    else if  (( ch == 'H')) {
        System.out.println("\nHope\n");
    }

    else if  (( ch == 'J')) {
        System.out.println("\nJoy\n");
    }

    else if (( ch == 'O' )) {
        System.exit();
    }

    else  {
        System.out.println("\nWrong option entered!!\n");
    }

} while (ch == 'F' || ch == 'G' || ch == 'H' || ch == 'J' || ch == 'O');

      // TODO code application logic here

}

プログラムを終了するには、 System.exit() を実行する必要があります

ループを終了するには、@bitmask に記載されているとおりに実行します

于 2011-06-08T10:00:54.217 に答える
0

ブール変数を使用します.0を入力するとブール値がtrueになり、ブール値のチェックを行います...

    boolean bool = false;
    do {
         ...

        if(input == '0')
           bool=true;
    } while (!bool);

ああ、忘れる前に、do while の前に 1 つの入力を行い、ループの最後に 1 つ入力します。そのように、0 をヒットした後、コード全体が再度実行されることはありません。

于 2011-06-08T12:01:27.217 に答える