小さい順に印字

C:\DATA\Java2\Dos>java Syojyun
一番小さい値は: 1
真ん中の値は: 3
一番大きい値は: 7
 -- Press any key to exit (Input "c" to continue) --
小さい順に並べて印字します。

前田稔の超初心者のプログラム入門

プログラムの作成

  1. メモ帳などでタイプして Syojyun.java の名前で保存して下さい。
    class Syojyun
    {   public static void main(String args[])
        {   int    v1,v2,v3,w;
            v1= 3;
            v2= 7;
            v3= 1;
            if (v1>v2)
            {   w= v1; v1= v2; v2= w;  }
            if (v1>v3)
            {   w= v1; v1= v3; v3= w;  }
            if (v2>v3)
            {   w= v2; v2= v3; v3= w;  }
            System.out.println("一番小さい値は: " + v1);
            System.out.println("真ん中の値は: " + v2);
            System.out.println("一番大きい値は: " + v3);
        }
    }
    
  2. Syojyun.java をコンパイルして class オブジェクトを実行して下さい。
    コンパイルの詳細は Java を動かす を参照して下さい。
  3. ページ先頭の画面が表示されたら完成です。

プログラムの説明

  1. ソート(並べ替え)の基本です。
    v1 と v2 を比較して小さいほうを v1 に、大きいほうを v2 に格納します。
    今回は条件を満たしたときに実行する命令が複数個あるので { } で囲まなければなりません。
    また、次のように改行しないで複数の命令を続けることもできます。
        if (v1>v2)
        {   w= v1; v1= v2; v2= w;  }
        
  2. v1 と v3 を比較して小さいほうを v1 に、大きいほうを v3 に格納します。
    ここまでで v1 には一番小さな値が格納されました。
        if (v1>v3)
        {   w= v1; v1= v3; v3= w;  }
        
  3. v2 と v3 を比較して小さいほうを v2 に、大きいほうを v3 に格納します。
    v1,v2,v3 に小さい順(昇順)に値が格納されました。
        if (v2>v3)
        {   w= v2; v2= v3; v3= w;  }
        

【演習】

課題1

v1 と v2 と v3 の値を変えて、小さい順(昇順)に印字されることを確かめて下さい。

課題2

変数の数が4個(v1,v2,v3,v4)になるとプログラムはどうなるでしょう。

超初心者のプログラム入門(Java2)