import java.util.*;
/*
* 我给你一个java编写的,你可以在控制台选择输入多少个数,你可以输入任意的整数,然后统计其中
* 每个数的出现的次数!
*/
public class StatisticsClass {
//创建一个int类型的数组用于储存你输入的整数
private static int[] myArray;
//创建一个TreeMap类型的集合用于存储你输入的整数以及他们各自出现的次数
private static Map
public void statisticsMethod(){
Set
Iterator
for(int i = 0;i < myArray.length;i++){
boolean flag = false;
while(iteratorMap.hasNext()){
if(myArray[i] == iteratorMap.next().intValue()){
flag = true;
}
}
if(flag){
break;
}else{
myMap.put(myArray[i], 0);
}
}
//到现在为止,你输入的数里面我们将出现过的已经放入map中,但是呢,次数还没有统计,默认为0
Set
Iterator
while(iteratorMap2.hasNext()){
int key = iteratorMap2.next();
int time = 0;
for(int i = 0;i < myArray.length;i++){
if(myArray[i] == key){
time++;
}
}
myMap.put(key, time);
}
//到现在为止,我们已经统计好了次数,也就是完成了绝大部分的工作,下面就是把它们打印出来
Set
Iterator
while(iteratorMap3.hasNext()){
int key = iteratorMap3.next();
System.out.println(key + "出现的次数为:" + myMap.get(key));
}
}
public static void main(String[] args) {
System.out.println("请输入你想输入多少个数:");
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
myArray = new int[n];
System.out.println("请依次输入你想输入的数:");
for(int i = 0;i < n ;i++){
System.out.println("请你输入第" + (i + 1) + "个数:");
myArray[i] = scanner.nextInt();
}
scanner.close();
new StatisticsClass().statisticsMethod();
}
}
//方法还有点繁琐,还可以改进,从面向对象和安全性方面都可以改进,但是功能没问题,完全达到要求,而且更强大!
实现过程
1.过滤这100个数将这100个数中出现了多少个不重复的数字放入一个数组
2.循环这个数组,循环取出里面的数,计算出此数在原数组中也就是之前生成的100个数中出现多少次
你就这么实现吧,很简单两层的for循环就搞定了
import java.util.Scanner;
public class Exercise07_03 {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("Enter the integers between 1 and 100:");
int[] numbers = new int[101];
int a = input.nextInt();
//输入以0结束
while (a !=0){
numbers[a]++;
a = input.nextInt();
}
for(int i = 1;i < numbers.length;i++){
if(numbers[i] > 0){
System.out.println(i +" occurs "+numbers[i]
+ (numbers[i]>1?" times ":" time "));
}
}
}
}
首先要明确一点,将你所有的数都放在数组data中;代码如下:
public void fun(int[] data){
int[] flag=new int[100]; //用来存放1到100出现的次数
for(int i=0;i
flag[data[i]-1]++; //对应的次数加一
}
for(int i=0;i<100;i++){
System.out.println(i+1+"出现的次数是:"+flag[i]);
}
}