简体   繁体   English

Java修改过的硬币翻转

[英]Java modified coin flip

Hi I need a little help I keep receiving 2 minor errors 嗨,我需要一点帮助,我一直收到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

My actual code is: 我的实际代码是:

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

So the problem is you're using constructors in a file that isn't named Coin.java. 因此,问题在于您在一个名为Coin.java的文件中使用了构造函数。 You would probably want to rename HoustonJacoriemodifiedCoin.java to Coin.java, and likely rename the class from public class HoustonJacoriemodifiedCoin to public class Coin. 您可能需要将HoustonJacoriemodifiedCoin.java重命名为Coin.java,并可能将类从公共类HoustonJacoriemodifiedCoin重命名为公共类Coin。

In most cases, your filename, public class * and your constructor are all the same name. 在大多数情况下,文件名,公共类*和构造函数都是相同的名称。

Also, I agree with the other answer saying remove the first semicolon. 另外,我同意另一个答案,即删除第一个分号。 Here is an example of these changes (in a file named HoustonJacoriemodifiedCoin .java ): 这是这些更改的示例(在名为HoustonJacoriemodifiedCoin .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());
  }
}

这是更正的代码:

public class ModifiedCoin { private String sideUp; Random rc = new Random(); public ModifiedCoin () { 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 ModifiedCoin (String s) { sideUp = s; } }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM