Javaプログラミング学習サイト ゆるゆるプログラミング

・Javaソースダウンロード(Mode.java)

配列の値(要素)の中から最も出現回数の多い値を求めるJavaのソースコードです。出現回数が同じ値が複数有る場合は、一番小さい値を最頻値としています。

このソースについての記事はこちら「最頻値」です。

Mode.javaをダウンロード

ダウンロードしたファイルはzip形式です。解凍して使ってください。Windowsの場合、ダウンロードしたzipファイルをマウスの右ボタンでクリックして表示されるポップアップメニューから「すべて展開(T)」で解凍できます。

import java.util.Arrays;

public class Mode {
	public static void main( String[] args ) {
		// 配列aを宣言
		int[] a;

		// 要素数10を設定
		a = new int[ 10 ];

		// 値を代入
		a[ 0 ] = 10;
		a[ 1 ] =  5;
		a[ 2 ] =  8;
		a[ 3 ] = 10;
		a[ 4 ] = 50;
		a[ 5 ] = 10;
		a[ 6 ] =  8;
		a[ 7 ] = 20;
		a[ 8 ] =  8;
		a[ 9 ] = 55;

		// 昇順ソート
		Arrays.sort( a );

		// 最頻値
		int pre_mode, num, max_num;
		int mode;

		// 初期値を代入
		mode = a[ 0 ];	// 最頻値の初期値	
		max_num = 1;	// 最大出現数の初期値

		pre_mode = a[ 0 ];	// 出現する回数を数える値
		num = 1;		// 出現回数

		for ( int i = 1; i < a.length; ++ i ) {
			if ( pre_mode == a[ i ] ) {
				// 同じ値の場合
				// 出現回数に1を足す
				++ num;
			}
			else {
				// 違う同じ値の場合
				if ( num > max_num ) {
					mode = pre_mode;
					max_num = num;
				}

				// 出現する回数を数える値を変更
				pre_mode = a[ i ];
				num = 1;
			}
		}

		// 後処理
		if ( num > max_num ) {
			mode = pre_mode;
			max_num = num;
		}


		// 結果表示
		System.out.println( "最頻値 : " + mode );
		System.out.println( "出現数 : " + max_num );
	}
}

このソースについての記事はこちら「最頻値」です。

 

■新着情報

2022.07.06 完全数 6=1+2+3

■広告

 

 

 

 

Topへ