モードを見つけるためのプログラムを作成しました。次に、"1 3 [5] 4 [5]"のような角括弧でモードを印刷するようにしましたが、配列リストにモードがない場合は、"[1] 3 4 5 "。モードがない場合、最初の整数に角括弧を表示したくありません。配列リストのモードを見つけるJavaプログラム
public static int mode(int[] array) {
int mode = array[0];
int maxCount = 0;
for (int i = 0; i < array.length; i++) {
int value = array[i];
int count = 1;
for (int j = 0; j < array.length; j++) {
if (array[j] == value)
count++;
if (count > maxCount) {
mode = value;
maxCount = count;
}
}
}
return mode;
}
その後、私はそれをこのように印刷:
int[] array = ...
int mode = mode(array);
boolean first = true;
for (int elt : array) {
// print separator unless it's the first element
if (first) {
first = false;
} else {
System.out.print(' ');
}
if (elt == mode) {
System.out.print(elt);
} else {
System.out.print('[');
System.out.print(elt);
System.out.print(']');
}
}
System.out.println();
私はあなたのコードがこの出力を生成するとは思わない。投稿されたコードが正しいかどうか再確認してください( 'if'条件もチェックしてください)。 – Tom