黑马程序员技术交流社区

标题: 随机数的产生和排序 [打印本页]

作者: liuning    时间: 2015-5-31 20:08
标题: 随机数的产生和排序
1
先随机生成20个15~50的整数。
[1]求这20个整数的总和和平均数
[2]找到这20个整数的最大值和最小值
[3]将这20个整数按照从小到大排序后输出

import java.util.Random;
public class test {
        public static void main(String args[]) {
                //定义数组
                int a[] = new int [20];
                //获取随机数数组
                radom(50,15,a);
                //求20个数的平均数和总和
                int sum = sum (a);
                double ave = average(a);
                System.out.println("平均数是:"+ave);
                //找到这20个整数的最大值和最小值
                int max = max(a);
                System.out.println("最大值是:"+max);
                int min = min(a);
                System.out.println("最小值是:"+min);
                //将这20个整数按照从小到大排序后输出
                sortPrint(a);
                }
       
        private static void sortPrint(int[] a) {
                int i,j,temp,k;
                for(i=0;i<a.length-1;i++){
                        k=i;
                        for(j=i+1;j<a.length;j++){
                                if(a[k]>a[j])k=j;
                                }
                        if(k!=i){
                                temp=a[i];
                                a[i]=a[k];
                                a[k]=temp;
                                }
                        }
                System.out.println("排序后的结果为:");
                for(i=0;i<a.length;i++){
                        System.out.print(a[i]+" ");
                        }
                System.out.println();
                }
        private static int min(int[] a) {
                int min=a[0];
                for(int i=1;i<a.length;i++){
                        if(min>a[i])min=a[i];
                        }
                return min;
                }
       
private static int max(int[] a) {
        int max=a[0];
        for(int i=1;i<a.length;i++) {
                if(max<a[i])max=a[i];
                }
return max;
}

private static double average(int[] a) {
        int sum=0;
        for(int i=0;i<a.length;i++)
                sum+=a[i];
        return (sum*1.0)/a.length;
        }

private static int sum(int[] a) {
        int sum=0;
        for(int i=0;i<a.length;i++)
                sum+=a[i];
        return sum;
        }


/*用来生成随机数数组的方法*/
private static void radom(int max,int min,int a[]){
        Random random = new Random();
        for(int i=0;i<a.length;i++){
                a[i]=random.nextInt(max) % (max - min + 1) + min;
                }
        }
}
作者: wwb1105    时间: 2015-5-31 20:18
好好加油啊   
作者: l598790586    时间: 2015-5-31 20:31
一起加油!
作者: wx_uKgDjEiS    时间: 2015-5-31 21:32
把最近学过的东西集合写一个程序可以有效复习
作者: zhangjnia    时间: 2015-5-31 21:34
还不错,加油
作者: 开弓没有回头箭    时间: 2015-5-31 23:22
今天刚学了arrays类,里面封装了上面的功能,很好用
作者: 张海旭    时间: 2015-5-31 23:42
顶顶顶:victory:
作者: 黯然残影    时间: 2015-5-31 23:58
不错 ,学习学习
作者: 下一页5    时间: 2015-6-1 00:42
不错啊大神




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2