为了账号安全,请及时绑定邮箱和手机立即绑定

尽管在循环内,但在循环外继续错误

尽管在循环内,但在循环外继续错误

月关宝盒 2023-03-02 16:31:55
由于继续外循环错误,我无法运行此代码。我在网上查了一下,发现人们因为多了一个分号而遇到了问题。我没有那个问题,但我仍然收到此错误。public class GuessingGame {     int random;    public void generateNumber()     {       //The following lines generate and output a random number between 1 and 10        random = (int)(Math.random()*10)+1;    }   //Write the guess() method below    public void guess()   {       //Use scanner to accept a user input        //Create a new scanner object to receive user input          Scanner sc=new Scanner(System.in);          System.out.println("Enter you guess between 1 to 10");          int guess = sc.nextInt();          //write your code below       if (guess == random){           System.out.println("You guessed it right, the number is " + random);       } else if (guess<random) {           System.out.println("You guessed too low!");           continue;       } else {           System.out.println("You guessed too low");           continue;       }   }每当我运行它时,我都会收到此错误。错误:(35, 12) java: 在循环外继续
查看完整描述

4 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

语言规范

语句 continue 只能出现在 while,  do, or for 语句中;这三种语句称为 迭代语句

你没有使用这些。if语句不是循环。编译器没有骗你!

如果您想使用 a continue,请围绕您要重复的代码放置一个循环。


查看完整回答
反对 回复 2023-03-02
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

希望这是你期待的逻辑......


public class GuessingGame {




    public static void main(String[] args) {


            int random;


            random = (int) (Math.random() * 10) + 1;


            Scanner sc = new Scanner(System.in);

            System.out.println("Enter you guess between 1 to 10");

            int guess = sc.nextInt();


            while (guess != 0) {

                if (guess < random) {

                    System.out.println("You guessed too low!"+random);

                    System.out.println("Enter you guess between 1 to 10");

                    guess = sc.nextInt();

                    continue;

                } else if (guess > random) {

                    System.out.println("You guessed too High"+random);

                    System.out.println("Enter you guess between 1 to 10");

                    guess = sc.nextInt();

                    continue;

                }else{

                    if (guess == random) {

                        System.out.println("You guessed it right, the number is " + random);

                    }

                    break;

                }


            }


        }


}


查看完整回答
反对 回复 2023-03-02
?
慕哥6287543

TA贡献1831条经验 获得超10个赞

像这样尝试


import java.util.Scanner;


public class GuessingGame {


    int random;


    public GuessingGame() {


        generateNumber();


        guess();

    }


    public void generateNumber() {

        // The following lines generate and output a random number between 1 and

        // 10

        random = (int) (Math.random() * 10) + 1;


    }


    // Write the guess() method below

    public void guess() {

        // Use scanner to accept a user input

        // Create a new scanner object to receive user input

        Scanner sc = new Scanner(System.in);

        System.out.println("Enter you guess between 1 to 10");

        int guess = sc.nextInt();


        while (guess != random) {

            // write your code below

            if (guess < random) {

                System.out.println("You guessed too low!");


            } else {

                System.out.println("You guessed too high");


            }

            guess = sc.nextInt();

        }

        System.out.println("You guessed it right, the number is " + random);

    }


    public static void main(String[] args) {

        new GuessingGame();

    }

}


查看完整回答
反对 回复 2023-03-02
?
莫回无

TA贡献1865条经验 获得超7个赞

在 java 中,continue 一词仅在循环内使用,并在不考虑 continue 语句下面的代码的情况下开始循环中的下一次迭代。你这里的错误是你根本没有使用循环,所以 java 编译器不知道如何处理 continue 语句。

我假设您在完成后继续退出 if 语句。如果是这样,那么您可以完全删除 continue 语句,它应该会运行。


查看完整回答
反对 回复 2023-03-02
  • 4 回答
  • 0 关注
  • 135 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信