我必须编写一个使用两个称为硬币的文件的程序。一个文件名为硬币,另一个文件名为硬币测试器。书中的指示使我感到困惑,但我仍然尝试着做作业。
以下是给出的指示:
创建一个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/