我想输入一个可选的“错误号码。再试一次”

时间:2019-03-28 02:02:41

标签: java for-loop if-statement while-loop do-loops

我刚刚开始学习Java代码,这就是为什么我可能会遇到一个对我来说并不简单的简单问题。

当输入的数字与secretNum不同时,我想输入一个可选的“错误的数字。再试一次”。你们可以帮我解决这段代码吗?

///我需要学习当数字=!=而不是猜测数字时如何放置“重试”。

    /* I have tried
     * 1)Change the signal "==" or "!=".
     * 2) do {
        System.out.println("Guess what is the number 0 to 10: ");
        if (sc.hasNextInt()) {
            guess = sc.nextInt();
        }
    } while(secretNum != guess);{
    System.out.println("Well done");
    System.out.println();
    System.out.println("Are you ready for the next step?");
    System.out.println();
    }
     */
import java.util.Scanner;

public class GuessNumber {




    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        System.out.println("Enter name:");
        if(sc.hasNextLine()) {
            String userName = sc.nextLine();
            System.out.println("Hello " + userName + ",");
            System.out.println();
        }

        int secretNum = 5;
        int secretNum2 = 15;
        int guess = 0;
        do {
            System.out.println("Guess what is the number 0 to 10: ");
            if (sc.hasNextInt()) {
                guess = sc.nextInt();
            }
        } while(secretNum != guess);{
        System.out.println("Well done\n");
        System.out.println("Are you ready for the next step?\n");
        } 


        // I need learn how put "try again" when the number is != than guess number. 

        /* I have tried
         * 1)Change the signal "==" or "!=".
         * 2) do {
            System.out.println("Guess what is the number 0 to 10: ");
            if (sc.hasNextInt()) {
                guess = sc.nextInt();
            }
        } while(secretNum != guess);{
        System.out.println("Well done");
        System.out.println();
        System.out.println("Are you ready for the next step?");
        System.out.println();
        }
         */


        System.out.println("Enter Yes or No");
 while(!sc.next().equals("yes")&& !sc.next().equals("no"));{
    System.out.print("Yes");    
        }

        do {
        System.out.println("Guess what is the number 11 to 20: ");
        if (sc.hasNextInt()) {
            guess = sc.nextInt ();
        }
        }while(secretNum2 != guess);{
        System.out.println("Congratulations");
        System.out.println();
        System.out.println("The End");
        }
        }
        }
````````

1 个答案:

答案 0 :(得分:0)

您不需要do{} while()来执行此处的检查,只需while(){}循环就足够了。

请改用以下代码:

import java.util.Scanner;

public class GuessNumber {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        System.out.println("Enter name:");
        if (sc.hasNextLine()) {
            String userName = sc.nextLine();
            System.out.println("Hello " + userName + ",");
            System.out.println();
        }

        int secretNum = 5;
        int secretNum2 = 15;
        int guess = 0;

        System.out.println("Guess what is the number 0 to 10: ");

        if (sc.hasNextInt()) {
            guess = sc.nextInt();
        }

        while (secretNum != guess) {
            System.out.println("Please try again\n");
            if (sc.hasNextInt()) {
                guess = sc.nextInt();
            }

        }
        System.out.println("Well done\n");
        System.out.println("Are you ready for the next step?\n");

        System.out.println("Enter Yes or No");
        while (!sc.next().equals("yes") && !sc.next().equals("no"))
        {
            System.out.print("Yes");
        }

        System.out.println("Guess what is the number 11 to 20: ");

        if (sc.hasNextInt()) {
            guess = sc.nextInt();
        }

        while (secretNum2 != guess) {
            System.out.println("Please try again\n");
            if (sc.hasNextInt()) {
                guess = sc.nextInt();
            }

        }

        System.out.println("Congratulations");
        System.out.println();
        System.out.println("The End");

    }
}