当前位置: 首页 > 知识库问答 >
问题:

“令牌”else“语法错误,删除此令牌”(Java)

胡安怡
2023-03-14

所以我在第37行的else if中出现了错误,我不知道为什么会发生这种情况。IDE说:“令牌”else“语法错误,删除这个令牌”。多谢了。

package jogo;

import java.util.Scanner;
import java.util.Random;

public class Main 
{
    public static void main(String[] args)
    {   
     Scanner in = new Scanner(System.in);
     Random rand = new Random();
     String name;
     System.out.println("Welcome to the game! Enter your name.");
     name = in.nextLine();
     System.out.println("Welcome " +name);
     System.out.println("Which direction you will walk? ( W, A, S D )");
     String comando = in.nextLine();
     
     if(comando.equals("W"));
        System.out.println("You decided to walk through the vast forest.");
        System.out.println("And suddenly a goblin appeared, what are you going to do? ( A = Attack and C = Run )");
        comando = in.nextLine();
        if(comando.equals("A"));
            if(rand.nextInt(100) <= 75)
        {
            System.out.println("You won the battle.");
        }
        else
        {
            System.out.println("You lost the battle.");
            {       
            else if(comando.equals("C")); 
            System.out.println("You ran away from the battle.");
            }   
        }
    }
}   

共有1个答案

王凌
2023-03-14

代码中几乎没有错误,比如在某些if条件后面加上了分号(;)甚至连括号都有错误。我已经编辑了代码,现在它可以正常工作了。

package jogo;

import java.util.Scanner;
import java.util.Random;

public class Main 
{
    public static void main(String[] args)
    {
    Scanner in = new Scanner(System.in);
    Random rand = new Random();
    String name;
    System.out.println("Welcome to the game! Enter your name.");
    name = in.nextLine();
    System.out.println("Welcome " +name);
    System.out.println("Which direction you will walk? ( W, A, S D )");
    String comando = in.nextLine();
    
    if (comando.equals("W")){
        System.out.println("You decided to walk through the vast forest.");
        System.out.println("And suddenly a goblin appeared, what are you going to do? ( A = Attack and C = Run )");
        comando = in.nextLine();
        
        if(comando.equals("A")){
            if(rand.nextInt(100) <= 75){
            System.out.println("You won the battle.");
        }
            else{
                System.out.println("You lost the battle.");
            }
        
        }
        
        else if(comando.equals("C")){
            System.out.println("You ran away from battle");
        }
    }
        
    }
    
}
 
 类似资料:
  • 我不知道该怎么做,是不是有一个错误,我遵循了所有的步骤,在教程中,我正在看。它只是说删除令牌

  • 我写了一个java代码作为我大学作业的练习。在if-else语句中,我得到了一个错误:“syntax error on token”if“,delete this token”。我想我犯了一些小错误,比如;.但是我找不出那个错误 我注释了显示错误的区域。下面是我写的代码。

  • 问题内容: 这是我的代码一直在给问题。 我不知道为什么要这么做。 编辑: 我已根据您的要求进行了编辑,以查看更多代码。 问题答案: 您要在课程外声明一个字段: 它必须放在一个类中:

  • 问题内容: 创建新类时遇到了此类错误。下面是我的代码: 谁能帮助我弄清楚实际发生了什么,并提出解决建议?非常感谢您的帮助 真诚的 问题答案: 该声明 应该在代码块中,例如方法,构造函数或实例初始化程序中,而不是在类块中

  • 问题内容: 我在这里很陌生,但让我们直接解决这个问题:当我为一个类项目计算器编写以下代码时,遇到了“令牌错误”。这是完整的错误消息: 我写了这段代码: 这就是代码,我注释了令牌错误所在的区域。也许解决方案就对了。我希望我的代码成为一个计算器,以便你们可以修正我的代码,使其不与数学运算冲突。谢谢,感谢您的帮助。 问题答案: 问题是分号之后的分号。 语法为 条件 expression-or-block