私は数週間これについてきましたが、どうやってこれを行うのか分かりません。私はちょうど最長の頭が欲しい。私は無数の時間を試して、私は間違って何をしているのか分かりません。最長ストリークを数えます
public class LongestStreak extends ConsoleProgram
{
public static final int FLIPS = 100;
int currentRun;
int runStart;
int maxRun;
public void run()
{
double heads = 0;
double tails = 0;
for(int i = 0; i < FLIPS; i++)
{
if(Randomizer.nextBoolean())
{
System.out.println("Heads");
heads++;
currentRun++; // use ++ in preference to +=1, and this should be before maxRun test
if (maxRun < currentRun) {
maxRun = currentRun;
runStart = currentRun - i; // this will produce a 1-based position
} else {
currentRun = 0;
}
}
else
{
System.out.println("Tails");
tails++;
}
}
System.out.println(FLIPS);
}
}
を反転しますあなたはストリークを決して印刷しません。代わりに、ループの境界を表示します。 –
テールが反転されている場合、currentRunを0にリセットすることを検討する必要があります。 – Compass
ああ、私はmaxRunを印刷するように変更しましたが、maxRunはちょうどすべてのヘッドのようです。 100枚のフリップのように、51頭がいました。私はそれを望んでいない。 –