与えられた複数の数値の最大値を求める処理を考えます。最大値を記憶するために専用の変数を 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