如果用户输入Y,如何保持程序运行?

时间:2017-04-04 17:42:50

标签: java

这是我的代码:

import java.util.*;

class Main {

    public static void main(String[] args) {
        Scanner Keyboard = new Scanner(System.in);
        {
            System.out.println("What is the answer to the following problem?");

            Generator randomNum = new Generator();
            int first = randomNum.num1();
            int second = randomNum.num2();
            int result = first + second;
            System.out.println(first + " + " + second + " =");

            int total = Keyboard.nextInt();

            if (result != total) {
                System.out.println("Sorry, wrong answer. The correct answer is " + result);
                System.out.print("DO you to continue y/n: ");
            } else {
                System.out.println("That is correct!");

                System.out.print("DO you to continue y/n: ");

            }

        }
    }

}

我正在尝试让程序继续运行,但是如果用户输入y并且如果他输入n则关闭。

我知道我应该使用while循环,但不知道我应该在哪里开始循环。

2 个答案:

答案 0 :(得分:2)

您可以使用循环,例如:

Scanner scan = new Scanner(System.in);
String condition;
do {
    //...Your code
    condition = scan.nextLine();

} while (condition.equalsIgnoreCase("Y"));

答案 1 :(得分:0)

这是一次很好的尝试。只需添加一个简单的while循环,在您询问是否要继续之后便于用户输入:

import java.util.*;

class Main
{
    public static void main(String [] args)
    {
        //The boolean variable will store if program needs to continue.
        boolean cont = true;

        Scanner Keyboard = new Scanner(System.in);

        // The while loop will keep the program running unless the boolean
        // variable is changed to false.
        while (cont) {

            //Code

            if (result != total) {

                System.out.println("Sorry, wrong answer. The correct answer is " + result);

                System.out.print("DO you to continue y/n: ");

                // This gets the user input after the question posed above.
                String choice = Keyboard.next();

                // This sets the boolean variable to false so that program
                // ends
                if(choice.equalsIgnoreCase("n")){
                    cont = false;
                }

            } else {

                System.out.println("That is correct!");

                System.out.print("DO you to continue y/n: ");

                // This gets the user input after the question posed above.
                String choice = Keyboard.next();

                // This sets the boolean variable to false so that program
                // ends
                if(choice.equalsIgnoreCase("n")){
                    cont = false;
                }
            }
        }
    }
}

您还可以阅读其他类型的内容,然后尝试以其他方式实现此代码:Control Flow Statements