Top >C言語、Java 練習プログラム集

4. ステーション

■ Java による作成例

import java.io.*;

class Program04
{
    /**
    *   main
    */

    public static void main( String[] args ) throws IOException
    {
        BufferedReader br = new BufferedReader(
                                new InputStreamReader(System.in));

        String    strRule =
            "列車は時速100km/hで走っています。駅までの距離は500mです。\n"
            + "ブレーキを強くしたり、弱くしたりしながら駅に停車してください。\n"
            + "ブレーキは毎回、1段階だけ強くしたり弱くしたりできます。\n"
            + "--------------------------------------------------------------\n";

        System.out.print(strRule);

        int reply;

        do
        {
            int remain = 500;    // 残りの距離
            int speed = 100;     // スピード
            int brake = 0;       // ブレーキの強さ
            int second;          // 経過秒数

            for (second = 0; speed > 0; second++)
            {
                for (int i = 0; i < (remain / 10); i++)
                    System.out.print("_");

                System.out.print("□□□\n");

                System.out.print("残り距離 " + remain
                            + "m 速度 " + speed
                            + "km/h ブレーキの強さ " + brake + "\n" );
                System.out.print(
                    "ブレーキの強さは?(2=強く、1=弱く、0=そのまま)");
                reply = Integer.parseInt(br.readLine());

                if (reply == 2)
                    brake++;
                else if (reply == 1 && brake > 0)
                    brake--;

                if (speed > brake)
                    speed -= brake;
                else
                    speed = 0;

                remain -= (((speed * 10) + 35) / 36);
            }

            System.out.print(Integer.toString(second)
                            + "秒 駅までの距離 " + remain
                            + "mで停止しました。\n");

            System.out.print("もう一度やりますか?(1=Yes; 0=No!)");
            reply = Integer.parseInt(br.readLine());
        } while (reply != 0);
    }
}
PAPER BOWL
NEZEN