ゆるゆるプログラミング

・複数の値の合計と平均

複数の数値の合計値と平均値を計算するプログラムを解説します。合計値は、与えられた複数の値を全て足した値で、平均値は、合計値を与えらた数で割った数値です。

Total.java
001:    public class Total {
002:    	public static void main( String[] args ) {
003:    		// 合計値を格納する変数を宣言
004:    		int   total;
005:    		// 数値群
006:    		int[] num = { 10, 5, 22, 56, 13, 77, 26, 43, 6, 4, 19 };
007:    
008:    		// 合計値の初期値を0
009:    		total = 0;
010:    		// 値の数を回数にした繰り返し処理
011:    		for ( int i = 0; i < num.length; ++ i ) {
012:    			// 値をtotalに足していく
013:    			total = total + num[ i ];
014:    		}
015:    
016:    		// 結果を表示
017:    		System.out.println( "合計=" + total );
018:    		System.out.println( "値の数=" + num.length );
019:    		System.out.println( "平均(小数切捨て)=" + total / num.length  );
020:    		System.out.println( "平均=" + (float)total / (float)num.length );
021:    	}
022:    }

Total.javaの出力結果

合計=281
値の数=11
平均(小数切捨て)=25
平均=25.545454

合計値と平均値を計算するプログラムについて解説します。

005:    		// 数値群
006:    		int[] num = { 10, 5, 22, 56, 13, 77, 26, 43, 6, 4, 19 };

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

008:    		// 合計値の初期値を0
009:    		total = 0;
010:    		// 値の数を回数にした繰り返し処理
011:    		for ( int i = 0; i < num.length; ++ i ) {
012:    			// 値をtotalに足していく
013:    			total = total + num[ i ];
014:    		}

for文を使った11回(num.length)のループで、変数totalに値を足していっています。このループを抜けると、変数totalに合計値が格納されてます。

016:    		// 結果を表示
017:    		System.out.println( "合計=" + total );
018:    		System.out.println( "値の数=" + num.length );
019:    		System.out.println( "平均(小数切捨て)=" + total / num.length  );
020:    		System.out.println( "平均=" + (float)total / (float)num.length );

結果を表示しています。ここで、平均値の計算方法について考えていきます。平均(小数切捨て)は、total / num.lengthで計算しているため小数点以下の値は切り捨てられています。これは、totalnum.lengthの両方がint型であるため、その計算結果もint型になったためです。

float型または、double型で計算すれば、小数点以下の数値を表現することができます。このソースコードの例では、totalnum.lengthの前に、(float)を付けることでint型を一時的にfloat型として計算させています。これを型キャストといいます。

■関連コンテンツ

配列 同じ型の変数をまとめた配列について解説
for文 繰り返し処理に使用するfor文について解説
型キャスト 変数の型を変換する方法について解説

■新着情報

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

■広告

法人向けのETC専用カード

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

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

Topへ