简体   繁体   中英

Java modified coin flip

Hi I need a little help I keep receiving 2 minor errors

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. You would probably want to rename HoustonJacoriemodifiedCoin.java to Coin.java, and likely rename the class from public class HoustonJacoriemodifiedCoin to public class 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 ):

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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