欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA基础综合一

程序员文章站 2022-06-10 11:13:19
...
a)生成20个取值范围在0-20(包含20)之间的随机数,并将其存放到数组中
b)求数组中这20个随机数的总和和平均数,平均数取整即可,不考虑小数点
c)采用排序算法,这20 个整数按照从小到大排序后输出(自己写排序算法,不要调用Arrays的方法。)
d)实现对排序后的数字进行出现次数的统计,要求输出的顺序和排序的顺序一致,请参考效果图(不使用集合)
/** 
* @author  万星明
* @version 创建时间:2018年10月26日 下午2:59:15 
*	a)生成20个取值范围在0-20(包含20)之间的随机数,并将其存放到数组中(2分)
	b)求数组中这20个随机数的总和和平均数,平均数取整即可,不考虑小数点(3分)
	c)采用排序算法,这20 个整数按照从小到大排序后输出(自己写排序算法,不要调用Arrays的方法。)(3分)
	d)实现对排序后的数字进行出现次数的统计,要求输出的顺序和排序的顺序一致,请参考效果图(不使用集合)(7分)
*/
public class Test1 {
	public static void main(String[] args) {
		
		Statistic(randomMath());
		
	}
	//a)生成20个取值范围在0-20(包含20)之间的随机数,并将其存放到数组中
	public static int[] randomMath() {
		int[] randomNum = new int[20]; 
		for(int i=0;i<20;i++) {
			randomNum[i]=(int)(Math.random()*21);
		}
		
		return randomNum;
	}
	
	//b)求数组中这20个随机数的总和和平均数,平均数取整即可,不考虑小数点
	public static int[] sumAve(int[] randomNum) {
		//创建一个int数组存放总和sumAveNum[0],平均数sumAveNum[1]
		int[] sumAveNum = {0,0};
		//对传入的randomNum进行遍历,求总和
		for (int i = 0; i < randomNum.length; i++) {
			sumAveNum[0] = sumAveNum[0]+randomNum[i];
		}
		//用求出的总和sumAveNum[0],求平均数
		sumAveNum[1] = (int)sumAveNum[0]/randomNum.length;
		//返回sumAveNum数组
		return sumAveNum;
	}
	
	//c)采用排序算法,这20 个整数按照从小到大排序后输出(自己写排序算法,不要调用Arrays的方法。)
	public static void sort(int[] randomNum) {
		//对传入的数组进行遍历
		for(int i=0;i<randomNum.length;i++) {
			//依次拿数组元素,与后面的所有元素比较
			for(int j=0;j<randomNum.length-i-1;j++) {
				//如果前一个数大于后一个数,就交换位置
				if(randomNum[j]>randomNum[j+1]) {
					int temp = randomNum[j];
					randomNum[j] = randomNum[j+1];
					randomNum[j+1] = temp;
				}
			}
		}
		//输出排序后的数组
		for(int i=0;i<randomNum.length;i++) {
			System.out.println(randomNum[i]);
		}
		
	}
	
	//d)实现对排序后的数字进行出现次数的统计,要求输出的顺序和排序的顺序一致,请参考效果图(不使用集合)
	public static void Statistic(int[] randomNum) {
		//创建一个20容量的整型数组
		int[] frequency = new int[21];
		//对传入的随机数组进行遍历
		for (int i = 0; i < randomNum.length; i++) {
			//在每个相对应数组的元素频率上加1
			frequency[randomNum[i]]++;
		}
		//遍历频率数组
		for (int i = 0; i < frequency.length; i++) {
			//如果数组元素值不为0,则输出
			if(frequency[i]!=0) {
				System.out.println(i+"出现:"+frequency[i]+"次");
			}
		}
		
		
	}
}