随即产生8个数排序最大最小求和以及平均值

时间:2022-04-30 09:53:50
public class zq {
public static void main(String[] args) {
double[] num=new double[8];
double sum=0;
System.out.println("接下来系统将会随机出现8个数");
//输出8个数,这里用到了随机数
        for(int i=0;i<=7;i++){
        num[i]=(double) (Math.random() * 100);
        if(i==0){
        System.out.print("原来的8个数是:");
        }
        sum=sum+num[i];
        System.out.print(num[i]+"\t");
        }
        System.out.println();
        double n;
        //选择排序,冒泡原理相同只不过比较时有变化
        for(int i=0;i<=7;i++){
        for(int j=0;j<=7;j++){
        if(num[i]<num[j]){
        n=num[i];
        num[i]=num[j];
        num[j]=n;
        }
       
        }
        //输出排列,这种是新学的排序法更加简单。
        /*Arrays.sort(num);
        System.out.print("从小到大排序为:");
        for(int k=0;k<=7;k++){
        System.out.print(num[k]+"\t");
        }*/
        System.out.print("从小到大排序为:");
        for(int k=0;k<=7;k++){
        System.out.print(num[k]+"\t");
        }
        System.out.println();
        //计算平均值,这里需要注意,avg属性是double。
        double avg=0;
        avg=sum/8;
        System.out.println("他们的总和为"+sum);
        System.out.println("他们的平均数为"+avg);
        double max=num[0];
        double min=num[0];
        //判断最大最小,将两个判断放在同一个for循环里,节省了空间并且简单易懂。
        for(int j=1;j<=7;j++){
        if(max<num[j]){
        max=num[j];
        }
        if(min>num[j]){
        min=num[j];
        }
        }
        //输出最大最小
        System.out.println("最大值为"+max);
        System.out.println("最小值为"+min);
}

}

//好难哭唧唧qwq

//感受:排序一共三种冒泡、选择以及arrays,其中前两种是高中就掌握的所以学起来这些课程并不难,以后会更认真的学习的,尽量每节课好好听课不犯困。