我正在尝试编写一个模拟掷硬币的程序。硬币第一次翻转正面时,我希望程序退出。我的 while 循环中的第一条语句将硬币翻转一次。然后我有一个 if 语句,说明我刚刚翻转的硬币是否是正面退出程序。但是我的程序没有按我想要的方式工作。有时
我的问题是我是在 while 循环中每 1 个周期掷一次或两次硬币吗?硬币是否在 while 循环中翻转一次,然后在 if 条件下翻转第二次?我已经对其进行了测试,但每次都会给我不同的结果和不同的错误,我不知道为什么。
if 条件对于我在程序中尝试执行的操作是否正确?
import acm.program.*;
import acm.util.*;
public class CoinToss extends ConsoleProgram{
public void run(){
while (true){
println(flipCoin());
if (flipCoin() == "heads"){
break;
}
}
}
public String flipCoin(){
String flip = rgen.nextBoolean() ? "heads" : "tails";
return flip;
}
public RandomGenerator rgen = RandomGenerator.getInstance();
}