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

错误:表达式的非法开始

裴姚石
2023-03-14

我不明白第77行不能从这个开始,但我用“public String showTrack()”开始了类似的内容。

这是我当前的代码:

public class DogTrack{
 
  int s = 0; 
  int r = 0; 
  int f = 0; 
  int d = 0; 
 
    public void playGame(){
    while (isOver()==false){
      spin();
      moveRover();
      spin();
      moveSpot();
      spin();
      moveFido();
      showTrack();
    }
 
    if (isOver()==true){
      showTrack();
      showWinners();
    }
  }
 
   public int spin(){
    return ((1+ (int)Math.random()*5));
  }  
 
  public void moveRover(){
    r = r + spin();  
  }
 
  public void moveSpot(){
    s = s + spin();
  }
 
  public void moveFido(){
    f = f + spin();
  }
 
  public boolean isOver(){
    if
      (r >= (d - 1) || s >= (d - 1) || f >= (d -1)) 
      return true;
    else
      return false;
  }
 
  public String showTrack(){
    String rover = ""; 
    for (int x = 0; x < d; x++){
      if
        (r >= x)
        rover = rover + "R";
      else 
        rover = rover + "o";
    }
 
 
    String spot = ""; 
    for (int x = 0; x < d; x++){
      if
        (s >= x)
        spot = spot + "S";
      else
        spot = spot + "o";
    }
 
      String fido = ""; 
      for (int x = 0; x < d; x++){
      if
        (f >= x)
        fido = fido + "F";
      else
        fido = fido + "o";
    }
    public String showWinners(){
    if (r>=(d-1))
    return "Rover Wins!"; 
    if (s>=(d-1)) 
    return "Spot Wins!"; 
    if (f>=(d-1)) 
    return "Fido Wins!"; 
    }
    }
}

共有1个答案

谷梁德容
2023-03-14

您的ShowWinners方法位于ShowTrack方法的内部,而不是紧随其后。

在最后,你会看到:

    }
    }
}

将其中一个大括号移动到公共字符串showWinners(){之前

 类似资料:
  • 我正在从其他框架生成一个JTabbedFrame。

  • 我基本上是在精炼、完成并尝试从java初学者参考书中编译测试代码。目标是创建一个猜测游戏,其中目标位于3个连续的单元中(我在阵列中保留位置),用户猜测单元号以逐个单元摧毁目标单元。 我在这里查看了六篇关于同一个错误的帖子,但我不知道出了什么问题。 这是我的错误: 我的代码是:

  • 问题内容: 我基本上是在完善,完成并尝试从Java初学者的参考书中编译测试代码。目的是创建一个猜谜游戏,其中目标位于3个连续的单元格中(我将位置保持在数组中),而用户则猜测该单元格的编号。逐个摧毁目标细胞。 我在这里检查了六则关于同一错误的帖子,但我无法弄清楚出了什么问题。 这是我的错误: 我的代码是: 问题答案: 方法只能声明局部变量。这就是为什么当您尝试将其声明为public时,编译器会报告错

  • 喂!我开始学习编程,并从一个奇怪的计算器的方式开始(我知道它的奇怪我是如何做的)。但在这段小代码中,我遇到了Java的一个问题:表达式的非法开始是因为“if(numberTest.equals(+))”,但当我输入“if(numberTest==/)”时,也会出现一个错误。有没有帮助解决这个问题,因为我没有找到任何东西,不知道该搜索什么?(:祝你们今天愉快!保重!)

  • 为什么我会得到:非法的表达式开始-公共静态int noOfLetters(String str){error?我如何修复它?

  • 问题内容: 我在注释标记的位置的以下代码中收到“表达式的非法开头”错误。我该如何纠正该错误? 问题答案: 您无法在Java中将方法彼此嵌套。移动外部方法。