您的位置:首页 > 其它

数组求和与平均数

2016-08-23 18:41 162 查看
题目是:题目:设计一个方法,可以获取任意范围的随机整数
生成20个取值范围在35-60之间的随机数,并将其存放到数组中
求数组中这20个随机数的总和和平均数,平均数取整即可,不考虑小数点采用排序算法,

这20 个整数按照从小到大排序后输出(自己写排序算法,不要调用Arrays的方法)。

题目分析:首先我们来分析一下,题目要求我们是求解数组的和与平均数

                 1.明确需求(求和与平均数)

                 2.分析题目含义,构建思路框架

                 3.明确步骤,每一步骤所需用到的基础知识(语句,方法与对象)

                 4.代码的实现(用java语言来实现)

代码实现如下:

package com.qf.ArrayList;

import java.util.Random;

/**

 * 题目:设计一个方法,可以获取任意范围的随机整数
生成20个取值范围在35-60之间的随机数,并将其存放到数组中
求数组中这20个随机数的总和和平均数,平均数取整即可,不考虑小数点
采用排序算法,这20 个整数按照从小到大排序后输出(自己写排序算法,
不要调用Arrays的方法。

* @author author:hth 

* @version time:2016年8月16日 下午9:01:24 

*

 */

public class RandomTest {
public static void main(String[] args) {
//调用方法输出20个随机数
int[] num=new int[20];
//循环遍历数组元素
System.out.print("step1:随机产生的20个数:");
System.out.print("[");
//求和与平均数
for(int i=0;i<num.length;i++){
num[i]=getNum(35,60);

System.out.print(num[i]+" ");
}

System.out.print("]"+"\n");
System.out.println("step2:总和为:"+sum(num)+"平均值为:"+avg(num, num.length));
//实现随机20个数的排列顺序(设计一个方法:冒泡排序)
for (int i = 0; i < num.length; i++) {
       for (int j = i; j < num.length; j++) {
           if(num[i] > num[j]){
               int temp = num[j];
               num[j] = num[i];
               num[i] = temp;
           }
       }
   }
//再次循环遍历输出结果。
System.out.print("setp3;排序后的结果为: [");
   for (int i = 0; i < num.length; i++) {
    System.out.print(num[i]+" ");
   }
   System.out.print("]");
}
/**
*构造方法求随机数 
* @param start
* @param end
* @return 
*/
public static int getNum(int start,int end){
/*//第一种方法求随机数
return (int)Math.random()*((end-start+1)+start);*/
//第二种方法求随机数
Random ra=new Random();
int number=ra.nextInt(end-start+1)+start;
return number;

}
/**
* 构造方法求和
* @param num
* @return
*/
public static int sum(int[] num) {
int sum = 0;
for (int n : num) {
sum += n;
}
return sum;
}
/**
* 构造方法求平均数
* @param num
* @param n
* @return
*/
public static int avg(int[] num, int n) {
int sum = sum(num);
int avg = sum / n;
return avg;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  设计