大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
分两次遍历数组,
创新互联是专业的上杭网站建设公司,上杭接单;提供网站设计、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行上杭网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
先统计各数出现的次数,记录到一个新的数组中,并启记录下最大次数
然后,遍历第二个数组,找出符合最大次数的各数,即可!
import java.util.Scanner;
public class P
{
public static void main(String[] args)
{
int i,j,t,len,max=1;
int[][] d=new int[10][2];
Scanner sc=new Scanner(System.in);
d[0][0]=sc.nextInt();
d[0][1]=1;
len=1;
for(i=1;i10;i++)
{
t=sc.nextInt();
for(j=0;jlen;j++)
{
if(d[j][0]==t)
{
d[j][1]++;
break;
}
}
if(j=len)
{
d[len][0]=t;
d[len++][1]=1;
}
if(d[j][1]max)
max=d[j][1];
}
for(i=0;ilen;i++)
if(d[i][1]==max)
System.out.println(""+d[i][0]+" "+max);
sc.close();
}
}
public static void Main(String[] args)
{
System.out.println(ZhongSHu());
}
平均数、众数、中位数这三个统计量的各自特点是:
平均数的大小与一组数据里的每个数据均有关系,其中任何数据的变动都会相应引起平均数的变动;众数则着眼于对各数据出现的次数的考察,其大小只与这组数据中的部分数据有关,当一组数据中有不少数据多次重复出现时,其众数往往是我们关心的一种统计量;中位数则仅与数据排列位置有关,当一组数据从小到大排列后,最中间的数据为中位数(偶数个数据的最中间两个的平均数)。因此某些数据的变动对它的中位数影响不大。
在同一组数据中,众数、中位数和平均数也各有其特性:
(1)中位数与平均数是唯一存在的,而众数是不唯一的;
(2)众数、中位数和平均数在一般情况下是各不相等,但在特殊情况下也可能相等。
具体来说,平均数、众数和中位数都是描述一组数据的集中趋势的特征数,但描述的角度和适用范围有所不同。平均数的大小与一组数据里的每个数据均有关系,其中任何数据的变动都会引起平均数的相应变动;众数着眼于对各数据出现的频数的考察,其大小只与这组数据中的部分数据有关;中位数则仅与数据的排列位置有关,某些数据的变动对中位数没有影响,当一组数据中的个别数据变动较大时,可用它来描述其集中趋势。
一般来说,平均数、中位数和钟书都是一组数据的代表,分别代表这组数据的“一般水平”、“中等水平”和“多数水平”。平均数涉及所有的数据,中位数和众数只涉及部分数据。它们互相之间可以相等也可以不相等,没有固定的大小关系。
其实,它们三者有关联也有区别。在一组数据中出现次数最多的数就是这组数据众数,众数和平均数一样,也是描述一组数据集中趋势的统计量,但它和平均数有以下两点不同:一是平均数只是一个“虚拟”的数,即一组数据的和除以该组数据的个数所得的商,而众数不是“虚拟”的数,是一组数据中出现次数最多的那个数据,是这组数据中真实存在的一个数据;二是平均数的大小与一组数据里的每个数据都有关系,任何一个数据的变动都会引起平均数大小的改变,而众数则仅与一组数据的出现的次数有关,某些数据的变动对众数没有影响,所以在一组数据中,如果个别数据变动较大,但某个数据出现的次数最多,此时用该数据(即众数)表示这组数据的“集中趋势”比较合适。
中位数和平均数一样,也是反映一组数据集中趋势的一个统计量。平均数主要反映一组数据的一般水平,中位数则更好地反映了一组数据的中等水平。它和平均数有以下不同:一是平均数只是一个“虚拟”的数,而中位数并不完全是“虚拟”数,当一组数据有奇数个时,它就是该组数据顺序排列后中间的那个数据,是这组数据中真实存在的一个数据;二是平均数的大小与一组数据里的每个数据都有关系,任何一个数据的变动都会引起平均数大小的改变,而中位数则仅与一组数据的排列位置有关,某些数据的变动对中位数没有影响,所以当一组数据的个别数据偏大或偏小时,用中位数来描述该组数据的集中趋势就比较合适。
public
static
double
mode(double[]
array)
{
Arrays.sort(array);
int
count
=
1;
int
longest
=
0;
double
mode
=
0;
for
(int
i
=
0;
i
array.length
-
1;
i++)
{
if
(array[i]
==
array[i
+
1])
{
count++;
}
else
{
count
=
1;//如果不等于,就换到了下一个数,那么计算下一个数的次数时,count的值应该重新符值为一
continue;
}
if
(count
longest)
{
mode
=
array[i];
longest
=
count;
}
}
System.out.println(longest);//打印出这个数出现的次数已判断是否正确
return
mode;
}
我运行过了,是对的
兄弟我来答你了,HOHO
int input()throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String numString;
int number;
while(true){
try {
numString = br.readLine();
number = Integer.parseInt(numString);
break;
}
catch (NumberFormatException e) {
log("Non-numeric input, try again");
}
}
return number;
}
int[] generation(int amount,int range1,int range2){
int a[]=new int[amount];
for(int count=0;counta.length;count++){
a[count]=(int)Math.round(Math.random()*(range2-range1)+range1);
log(""+a[count]);
}
return a;
}
int findLargest(int b[]){
return b[b.length-1];
}
int findSmallest(int a[]){
return a[0];
}
int findSum(int a[]){
int sum=0;
for(int i=0;ia.length;i++){
sum+=a[i];
}
return sum;
}
String findAve(double sum,double amount){
DecimalFormat twoDecimals = new DecimalFormat ("0.00");
double ave=sum/amount;
return twoDecimals.format(ave);
}
public static String findMedian(int a[]) {
DecimalFormat twoDecimals = new DecimalFormat ("0.00");
if (a.length % 2 == 0) {
return twoDecimals.format((a[(a.length / 2) - 1] + a[a.length / 2]) / 2.0);
}
else {
return twoDecimals.format(a[a.length / 2]);
}
}
public static int[] findMode(int a[]) {
int maxCount=0,q=0,y=0,e=0;
int b[]=new int[a.length];
int d[]=new int[a.length];
for (int i = 0; i a.length; i++) {
int count = 0;
for (int j = 0; j a.length; j++) {
if (a[j] == a[i])
count++;
}
if (count maxCount) {
q=0;
for(int c=0;cb.length;c++){
b[c]=0;
}
maxCount = count;
b[q]= a[i];
}
if(count==maxCount){
b[q]=a[i];
q++;
}
}
for(int t=0;tb.length;t++){
if(b[0]!=b[t]){
y=t;
break;
}
}
for(int z=0;zq;z+=y){
d[e]=b[z];
e++;
}
int n[]=new int[e];
for(int m=0;me;m++){
n[m]=d[m];
}
return n;
}