我必须编写一个使用两个称为硬币的文件的程序。一个文件名为硬币,另一个文件名为硬币测试器。书中的指示使我感到困惑,但我仍然尝试着做作业。
以下是给出的指示:
创建一个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期望使用返回方法,但由于指示,我不允许这样做。
答案 0 :(得分:2)
您正在将articles[0].Content
的结果与整数进行比较。
但是您将flipCoin定义为flipCoin
(不返回)。
其中之一必须改变
作为旁注:
没有规则说不允许使用修饰符方法返回值。尽管它们通常不这样做,但有时会返回一个值,以免程序员编写多余的行。
答案 1 :(得分:1)
如果一个方法提供了信息,它将返回一些信息。 flipCoin不应提供信息,而showCoin可以提供信息。实际上,这就是您要在if语句中使用的功能,以查看硬币的状态。此外,您需要在查看硬币之前先将其翻转。该代码应该可以工作:
public class CoinTester{
public static void main(String[] args) {
Coin nickel = new Coin();
nickel.flipCoin();
if (nickel.showCoin() == 0) {
System.out.println("Heads up!");
} else {
System.out.println("Tails up!");
}
}
}