Java出现次数最多的整数

描述

编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。

输入

第一行是一个整数N,N<= 20;接下来有N行,每一行表示一个整数,并且按照从小到大的顺序排列。

输出

输出只有一行,即出现次数最多的那个元素值。

难度

入门

输入示例

5
100
150
150
200
250

输出示例

150

完成代码:

 1 import java.util.Scanner;
 2 
 3 import java.util.Arrays;
 4 
 5 public class Demo01 {
 6     static long max = 0;
 7     static long maxTimes = 1;
 8     public static void main(String[] args) {
 9         Scanner sc = new Scanner(System.in);
10         int N = sc.nextInt();
11         if(N < 1 || N > 20) System.exit(0);
12         long a[] = new long[N];          //设一个数组专门用来存放输入整数的次数
13         Arrays.fill(a, 1);//数组全为1
14         long b = sc.nextLong();          //输入的第一个整数
15         max = b;
16         for(int i = 1; i < N; i++){
17             long c = sc.nextLong();      //输入剩下的整数
18             if(c == b){                  //当出现两个相同的数时
19                 a[i] = a[i - 1] + 1;     //次数加一
20                 if(a[i] > maxTimes){     //找到次数最多的
21                     maxTimes = a[i];
22                     max = c;             
23                 }
24             }
25             b = c;                       //换下一个数
26      }
27         System.out.println(max);
28         sc.close();
29     }
30 }

 

posted @ 2020-02-18 16:56  哦呦aholic  阅读(740)  评论(0编辑  收藏  举报