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

Java 继续循环外错误,尽管它在循环内,java,loops,continue,Java,Loops,Continue,由于“继续外部循环”错误,我无法运行此代码 我在网上查了一下,发现人们因为多了一个分号而有问题。我没有这个问题,但我仍然得到这个错误 public class GuessingGame { int random; public void generateNumber() { //The following lines generate and output a random number between 1 and 10 random

由于“继续外部循环”错误,我无法运行此代码

我在网上查了一下,发现人们因为多了一个分号而有问题。我没有这个问题,但我仍然得到这个错误

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;

       }
   }
公共类猜谜游戏{
int随机;
公共空生成器枚举器()
{
//以下几行生成并输出一个介于1和10之间的随机数
random=(int)(Math.random()*10)+1;
}
//在下面编写guess()方法
公众猜测
{
//使用扫描仪接受用户输入
//创建新的扫描仪对象以接收用户输入
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入1到10之间的猜测值”);
int guess=sc.nextInt();
//把你的代码写在下面
如果(猜测==随机){
System.out.println(“你猜对了,数字是”+随机的);
}否则,如果(猜测来自:

continue
语句只能出现在
语句中,而
语句、
do
语句或
语句只能出现在
语句中;这三种语句称为迭代语句

如果
语句不是循环,你就不会使用这些语句。编译器没有骗你

如果要使用
继续
,请在要重复的代码周围放置一个循环。

像这样尝试

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();
    }
}
import java.util.Scanner;
公开课猜谜游戏{
int随机;
公众猜谜游戏{
生成枚举器();
猜();
}
公共空生成器枚举器(){
//以下几行生成并输出一个介于1和1之间的随机数
// 10
random=(int)(Math.random()*10)+1;
}
//在下面编写guess()方法
公众猜测{
//使用扫描仪接受用户输入
//创建新的扫描仪对象以接收用户输入
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入1到10之间的猜测值”);
int guess=sc.nextInt();
while(猜测!=随机){
//把你的代码写在下面
如果(猜测<随机){
System.out.println(“你猜得太低了!”);
}否则{
System.out.println(“你猜得太高了”);
}
猜测=sc.nextInt();
}
System.out.println(“你猜对了,数字是”+随机的);
}
公共静态void main(字符串[]args){
新猜谜游戏();
}
}

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


我假设您在完成时输入continue以退出if语句。如果是这样,那么您可以完全删除continue语句并运行它。

希望这是您期望的逻辑

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;
                }

            }

        }

}
公共类猜谜游戏{
公共静态void main(字符串[]args){
int随机;
random=(int)(Math.random()*10)+1;
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入1到10之间的猜测值”);
int guess=sc.nextInt();
while(猜测!=0){
如果(猜测<随机){
System.out.println(“你猜得太低了!”+随机);
System.out.println(“输入1到10之间的猜测值”);
猜测=sc.nextInt();
继续;
}else if(猜测>随机){
System.out.println(“你猜得太高了”+随机);
System.out.println(“输入1到10之间的猜测值”);
猜测=sc.nextInt();
继续;
}否则{
如果(猜测==随机){
System.out.println(“你猜对了,数字是”+随机的);
}
打破
}
}
}
}

你希望
继续;
做什么?没有像:
while
do
for
这样的循环。它只能在循环中使用。我希望它继续猜测功能,直到有人正确理解它。“尽管它在循环中”,如果语句不是循环,请定义:“继续猜测函数”,调用
continue
后应执行哪一行/语句?