我必须编写一个使用两个称为硬币的文件的程序。一个文件名为硬币,另一个文件名为硬币测试器。书中的指示使我感到困惑,但我仍然尝试着做作业。

以下是给出的指示:


  创建一个Coin类,其中包含一个变量faceUp,该变量存储0表示抬头或1表示尾巴,一个名为showFace()的访问器方法,如果硬币朝上,则返回0,如果硬币朝上,则返回1,和一个
  名为flipCoin()的修饰符方法,该方法将0到1之间的一个随机整数(包括0和1)分配给变量faceUp。


使用以下客户端代码测试该类:

public class CoinTester{
    public static void main(String[] args) {
        Coin nickel = new Coin();
        if (nickel.flipCoin() == 0) {
            System.out.println("Heads up!");
        } else {
            System.out.println("Tails up!");
        }
    }
}


这是我的名为coin文件的代码:

public class Coin {
    private int faceUp;

    public Coin() {
        faceUp = (int)(Math.random() * 2);
    }

    public int showCoin() {
        return faceUp;
    }

    public void flipCoin() {
        faceUp = (int)(Math.random() * 2);
    }
}


我肯定知道我做错了,因为我很困惑并且程序有语法错误。我觉得按照即时通讯的指示是不可能的。 CoinTester期望返回方法,但是由于指示,我不被允许这样做。

最佳答案

您正在将flipCoin的结果与整数进行比较。

但是您将flipCoin定义为void(不返回)。

其中之一必须改变

附带说明:

没有规则说不允许使用修饰符方法返回值。尽管它们通常不这样做,但有时它们确实返回一个值,以免程序员编写额外的行。

关于java - 这些指示我不清楚,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54470637/

10-12 02:47