我需要编写自己的函数来返回数组中重复次数最多的值。我有一个数组,我需要统计统计时尚(模式,这是数组中重复次数最多的值),我不知道为什么它不起作用。
我创建了 2 个数组:
第一个包含值,第二个数组我想插入第一个数组中的每个值重复多少次,然后通过我的函数,findmax
搜索重复值的最大索引,最后显示一条带有模式的消息.
public int findmax(Integer [] somearray) {
int max = somearray[0];
int z=0;
for (int i = 0; i < somearray.length; i++) {
if (somearray[i]>max){
max = somearray[i];
z = i;
}
}
return z;
}
private void myModaActionPerformed(java.awt.event.ActionEvent evt) {
Double [] myarray = new Double[dsTable.getRowCount()];
Integer [] myarray2 = new Integer[dsTable.getRowCount()];
for (int i=0; i < myarray.length; i++){
myarray[i] = (Double)dsTable.getModel().getValueAt(i, 0);
}
java.util.Arrays.sort(myarray);
for (int i = 0; i < myarray.length; i++){
JOptionPane.showMessageDialog(this.mainPanel,((Double)myarray[i]));
}
for (int i = 0; i < myarray2.length; i++){
myarray2[i]=0;
}
for (int i = 0; i < myarray.length; i++){
for (int j = 0; j < myarray.length; j++){
if (myarray[i] == myarray[j]){
myarray2[i]++;
}
}
}
JOptionPane.showMessageDialog(this.mainPanel,myarray[findmax(myarray2)]);
}
程序的结果是第一个数组的第一个值。