Java 爪哇改进抛硬币

Java 爪哇改进抛硬币,java,Java,嗨,我需要一些帮助我一直收到2个小错误 C:\Users\ez\Documents\HoustonJacoriemodifiedCoin.java:16: error: illegal start of expression public Coin(); ^ C:\Users\ez\Documents\HoustonJacoriemodifiedCoin.java:38: error: invalid method

嗨,我需要一些帮助我一直收到2个小错误

C:\Users\ez\Documents\HoustonJacoriemodifiedCoin.java:16: error: illegal start of expression
                    public Coin();
                    ^
C:\Users\ez\Documents\HoustonJacoriemodifiedCoin.java:38: error: invalid method declaration; return type required
                    public Coin(String s)
                           ^
2 errors

Tool completed with exit code 1
我的实际代码是:

public class ModifiedCoin {
  private String sideUp;
  {
    Random rc = new Random();
    public Coin();
    {
      int rg = rc.nextInt(2);
      if(rg == 0)
        sideUp = "Heads";
      else sideUp = "Tails";
    }
  }
  public void toss() {
    int rg = rc.nextInt(2);
    if(rg == 0)
      sideUp = "Heads";
    else
      sideUp = "Tails";
  }
  public String getSideUp() {
    return sideUp;
  }
  public Coin(String s) {
    sideUp = s;
  }
}

因此,问题是您在一个名为Coin.java的文件中使用构造函数。您可能希望将HoustonJacoriemodifiedCoin.java重命名为Coin.java,并可能将该类从公共类HoustonJacoriemodifiedCoin重命名为公共类Coin

在大多数情况下,文件名、公共类*和构造函数都是相同的名称

另外,我同意另一个答案,去掉第一个分号。以下是名为HoustonJacoriemodifiedCoin.java的文件中的这些更改的示例:


这是正确的代码:

修改的公共类{ 私有字符串sideUp; 随机rc=新随机; 公共修饰语 { int rg=rc.nextInt2; ifrg==0 sideUp=头部; else sideUp=尾部; } 公众掷空{ int rg=rc.nextInt2; ifrg==0 sideUp=头部; 其他的 sideUp=尾部; } 公共字符串getSideUp{ 返回sideUp; } 字符串s中的公共修改{ sideUp=s; }
}

这是文件的全部内容吗?看起来您缺少外部类声明看起来您可能缺少包声明。。这个类是在包中定义的吗?同样在Java中,该文件必须与其中定义的类具有相同的名称。请发布一个。从错误的外观来看,您试图在另一个方法中定义一个方法。这在Java中是不可能的。鉴于您最初也标记了intro.js,您确定您应该使用Java而不是JavaScript吗?方法声明无效;返回类型required意味着它不能识别Coin应该是一个构造函数。这需要在名为Coin的类声明中。抱歉,在我发布答案后,您发布了完整的代码,因此我的答案不正确。您的原始代码(其中修改了类名)是正确的。您的文件名需要修改为dcoin.java。您的构造函数也需要修改。
import java.util.Random;

public class HoustonJacoriemodifiedCoin {
  private String sideUp;
  private Random rc = new Random();

  public HoustonJacoriemodifiedCoin()
  {
    int rg = rc.nextInt(2);
    if(rg == 0)
      sideUp = "Heads";
    else
    sideUp = "Tails";
  }
  public HoustonJacoriemodifiedCoin(String s) {
    sideUp = s;
  }

  public void toss() {
    int rg = rc.nextInt(2);
    if(rg == 0)
      sideUp = "Heads";
    else
      sideUp = "Tails";
  }
  public String getSideUp() {
    return sideUp;
  }

  public static void main(String ... args) {
    HoustonJacoriemodifiedCoin c = new HoustonJacoriemodifiedCoin();
    c.toss();
    System.out.println(c.getSideUp());
    c.toss();
    System.out.println(c.getSideUp());
    c.toss();
    System.out.println(c.getSideUp());
    c.toss();
    System.out.println(c.getSideUp());
  }
}