我正在尝试制作这个节目
public class Statistics {
public static void main(String[] args) {
final int SIZE = 10;
int sum =0;
int[] numArray= new int [SIZE];
for (int c=0; c < SIZE; c++)
{
numArray[c]=(int)(Math.random()*6+1);
System.out.print( numArray[c]+ " ");
sum+=numArray[c];
}
System.out.println("\nSum of all numbers is " + sum);
System.out.println("\n Mean of numbers is " + (sum) / 5);
}
}
计算随机生成的数组的模式。
我看过他们使用一个名为computemode的单独方法发布的源代码,但我不知道将第二种方法放在我的代码中的位置。对不起,我在编程时非常环保。我正在学习Java作为我的第一语言,到目前为止它是压倒性的。
如果有人可以发布详细说明/解释的语法,我将非常感激。
答案 0 :(得分:0)
该模式非常容易计算。假设您的输入有界,一种方法是简单地使用一个数组来跟踪每个数字的出现次数:
int[] data; //your data bounded by 0 and MAX_VALUE
int[] occurrences = new int[MAX_VALUE+1];
for ( int datum : data ) {
occurrences[newNumber]++;
}
然后找出具有最高值的事件中的索引。
int maxOccurrences = Integer.MIN_VALUE;
int mode = -1;
for ( int i = 0; i < occurrences.length; i++ ) {
if ( occurrences[i] > maxOccurrences ) {
maxOccurrences = occurrences[i];
mode = i;
}
}
你必须调整它来处理多种模式。