public class Main { public static void main(String argv[]) { int i, j = -1; int[] a = new int[100]; short[] mp = new short[100]; for (i = 0; i < 100; i++) { a[i] = (int)(Math.random() * 100); mp[a[i]]++; } for (i = 0; i < 100; i++) { if (mp[i] > 1) System.out.println(i + " 出现" + mp[i] + "次"); if (mp[i] > 4) j = i; } System.out.println(j == -1? "没有重复数大于4的值": ("重复数大于4的值中最大为:" + j)); } }
楼上的算法很好,改了下是随机生成的数是1-100. class Test{ public static void main(String[] args){ int i,j=-1; int[] a=new int[100]; short[] m=new short[101]; for(i=0;i<a.length;i++){ a[i]=(int)(Math.random()*100+1);//这里是1-100 m[a[i]]++; } for(i=0;i<=a.length;i++){ if(m[i]>1){ System.out.println(i+"出现的次数是"+m[i]); } if(m[i]>4){ j=i; }
//java.util.HashMap? Random r = new Random(100); HashMap m = new HashMap(); int result = 0; for(int i=0; i<100; i++){ int n = r.nextInt(); Integer it = m.get(n); it = it == null ? 0 : it; m.put(n, it + 1); if(it >= 4 && result < n){ result = n; } } System.out.println(result); 貌似要在1.5以上运行
a[n]存放n+1的个数,每次产生一个随机数r,则a[r-1]++,最后再统计一下好了
{
public static void main(String argv[])
{
int i, j = -1;
int[] a = new int[100];
short[] mp = new short[100]; for (i = 0; i < 100; i++)
{
a[i] = (int)(Math.random() * 100);
mp[a[i]]++;
}
for (i = 0; i < 100; i++)
{
if (mp[i] > 1)
System.out.println(i + " 出现" + mp[i] + "次");
if (mp[i] > 4)
j = i;
}
System.out.println(j == -1? "没有重复数大于4的值": ("重复数大于4的值中最大为:" + j));
}
}
class Test{
public static void main(String[] args){
int i,j=-1;
int[] a=new int[100];
short[] m=new short[101];
for(i=0;i<a.length;i++){
a[i]=(int)(Math.random()*100+1);//这里是1-100
m[a[i]]++;
}
for(i=0;i<=a.length;i++){
if(m[i]>1){
System.out.println(i+"出现的次数是"+m[i]);
}
if(m[i]>4){
j=i;
}
}
System.out.println(j==-1? "没有重复次数大于4的数":"重复次数大于4次中最大的数是"+j);
}
}
Random r = new Random(100);
HashMap m = new HashMap();
int result = 0;
for(int i=0; i<100; i++){
int n = r.nextInt();
Integer it = m.get(n);
it = it == null ? 0 : it;
m.put(n, it + 1);
if(it >= 4 && result < n){
result = n;
}
}
System.out.println(result);
貌似要在1.5以上运行