与えられた複数の数値の最大値を求める処理を考えます。最大値を記憶するために専用の変数を max という名前としています。maxの初期値をどうするかはいろいろな考え方がありますがここでは、先頭のデータ data[0]とします。この変数は「仮の最大値」として取り扱われます。
このmaxと、次のデータの値の比較をします。比較してより大きな値が見つかった場合には、仮の最大値を新しい値に代入し直します。すべてのデータに対して一通り処理が行われれば、maxに記憶されている値が最大値ということになります。 最小値を求めるアルゴリズムもまったく同じ考え方でできます。
public class Saidai01 { public static void main( String[] args ) { int[] data = { 52, 46, 24, 12, 15, 35, 18, 56, 63, 23, 10, 98, 29, 32, 90, 45, 64, 8, 16, 82 }; int max = data[0]; for( int i=1; i<data.length; i++ ) { if( data[i] > max ){ max = data[i]; } } System.out.println( "最大値:" + max ); } }
動作結果
$ java Saidai01 最大値: 98
最小値を求めて表示するプログラムにしなさい。
ファイルの中にデータがあって、その中の最大値を表示するプログラムをつくりなさい。
ファイルの中身は次のようにします。データの内容は任意でよい。
52 46 24 12 15 35 18 56 63 23 10 98 29 32 90 45 64 8 16 82