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

尝试这个:

/**
* @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 回答
1

在你做的时候试试这个:

if( ch == '0') break;
于 2011-06-08T09:56:09.603 回答
0

我会使用一个布尔变量,如果你输入 0 布尔值变为真,然后检查布尔值...

    boolean bool = false;
    do {
         ...

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

哦,在我忘记之前,我还会在 do while 之前输入一个输入,在循环结束时输入一个。像这样,您的整个代码在您点击 0 后将不会再次运行。

于 2011-06-08T12:01:27.217 回答