人が 7 フィートの橋の途中からスタートするプログラムに問題があります。説明は次のとおりです。
長さ7フィートの橋の中央に誰かが立っています。彼らの歩幅はちょうど 1 フィートです。彼らは進む方向を制御することはできませんが、橋は非常に狭く、一歩ごとに前進または後退しかできません。
人が橋を出る前に何歩歩くかを計算するプログラムを書きなさい。プログラムでこのシミュレーションを 1000 回実行し、出力として実行されたステップの平均数と最大数を表示します。(ヒント: 0 または 1 の乱数を生成し、一方を前方に、他方を後方に等しくします)。これを 20 回行い、比較観察を行います。
これは私がこれまでに持っているものです:
import java.util.Random;
import java.util.Scanner;
import java.text.DecimalFormat;
public class prog214a
{
public static void main(String[] args)
{
Random generator = new Random();
System.out.println("1000 iterations");
int runs = 0;
int iter = 1000;
double count = 7.0 / 2.0;
int random;
System.out.println("Run\tAvarage\tGreatest Number of Steps");
// for(runs=1;runs<20; runs+=1)
// {
for (iter = 1000; iter > 1; iter -= 1)
{
double tries = 1;
double avg = count / tries;
random = generator.nextInt(2);
if (random == 0)
{
count -= 1;
}
if (random == 1)
{
count += 1;
}
if (count <= 0 || count >= 7)
{
System.out.println("#" + runs + ":\t" + avg + "\t" + count);
count = 0;
runs += 1;
}
tries += 1;
}
// }
}
}