ゆるゆるプログラミング

・複数の値の最小値と最大値

複数の数値の最小値最大値を計算するプログラムを解説します。

MinMax2.java
001:    public class MinMax2 {
002:    	public static void main( String[] args ) {
003:    		// 最小値と最大値を格納する変数を宣言
004:    		int   min, max;
005:    		// 数値群
006:    		int[] num = { 102, 506, 332, 9, 45, 88, 12, 367 };
007:    
008:    		// 最小値と大値を初期化(num[0]を代入)
009:    		min = max = num[ 0 ];
010:    		for ( int i = 1; i < num.length; ++ i ) {
011:    			// minとnum[i]の小さいほうの値をminに代入
012:    			min = Math.min( min, num[ i ] );
013:    			// maxとnum[i]の大きいほうの値をmaxに代入
014:    			max = Math.max( max, num[ i ] );
015:    		}
016:    
017:    		// 結果を表示
018:    		System.out.println( "最小値=" + min );
019:    		System.out.println( "最大値=" + max );
020:    	}
021:    }

MinMax2.javaの出力結果

最小値=9
最大値=506

最小値最大値を計算するプログラムについて解説します。

005:    		// 数値群
006:    		int[] num = { 102, 506, 332, 9, 45, 88, 12, 367 };

この例では、8個の数値をint型配列で与えています。

008:    		// 最小値と大値を初期化(num[0]を代入)
009:    		min = max = num[ 0 ];

最小値を格納する変数minと最大値を格納する変数maxに、最初の数値(num[ 0 ])を代入しています。

010:    		for ( int i = 1; i < num.length; ++ i ) {
011:    			// minとnum[i]の小さいほうの値をminに代入
012:    			min = Math.min( min, num[ i ] );
013:    			// maxとnum[i]の大きいほうの値をmaxに代入
014:    			max = Math.max( max, num[ i ] );

for文を使った(8-1)回(num.length-1)のループで、配列に中の数値と、変数minと変数maxの大きさを比較して、それぞれ小さい値と大きい値を代入していきます。このループを抜けたときの変数minが最小値変数maxが最大値になります。

017:    		// 結果を表示
018:    		System.out.println( "最小値=" + min );
019:    		System.out.println( "最大値=" + max );

結果を表示しています。

■関連コンテンツ

配列 同じ型の変数をまとめた配列について解説
for文 繰り返し処理に使用するfor文について解説
最小値・最大値 Math.minとMath.maxの使い方について解説

■新着情報

2017.11.17 N値化 カラー画像をN値化する方法について解説
2017.11.16 最も近い値の取得 指定値に最も近い配列の値を取得する方法を解説
2017.10.02 アルファ値(透過) アルファ値(透過)について

■広告

法人向けのETC専用カード

~約8,000名の受講生と80社以上の導入実績~ 企業向けプログラミング研修ならCodeCamp

日本最大級ショッピングサイト!お買い物なら楽天市場

Topへ