Java数组直接发代码,有用就采纳。

对一个随机生成的int型数组(大小为10,范围为1-100,完成以下工作:找到该数组的最大值;找到该数组的最小值;计算数组中所有数的和值;计算数组中所有数的平均值;对该数组进行冒泡排序;对该数组进行选择排序

这问题很简单啊,为什么不自己写呢

我给你写下

import java.util.Arrays;
public class HelloWorld {
    public static void main(String []args) {
       int[] brr=new int[10];
        for (int i = 0; i < brr.length; i++) {
            brr[i]=(int)(Math.random()*100)+1;    
        }
        int max=brr[0];
        int min=brr[0];
        int sum=0;
        for (int i = 0; i < brr.length; i++) {
            if(brr[i]>max)
                max=brr[i];
            if(brr[i]<min)
                min=brr[i];
            sum+=brr[i];
        }
        System.out.println("最大值:"+max);
        System.out.println("最小值:"+min);
        System.out.println("总和:"+sum);
        System.out.println("平均值:"+sum*1.0/brr.length);
        

        for (int i = 0; i < brr.length - 1; i++) {
            for (int j = 0; j < brr.length - 1 - i; j++) {
                if (brr[j] > brr[j + 1]) {
                    int temp = brr[j + 1]; 
                    brr[j + 1] = brr[j]; 
                    brr[j] = temp; 
                }
            }
        }
        System.out.println("冒泡排序结果:"+Arrays.toString(brr));
        selectSort(brr);
        System.out.println("选择排序结果:"+Arrays.toString(brr));
        
    }
    
    public static void selectSort(int[] arr){
        for(int i = 0; i < arr.length-1; i++){
            int min = i;
            for(int j = i+1; j <arr.length ;j++){
                if(arr[j]<arr[min]){
                    min = j;
                }
            }
            if(min!=i){
                swap(arr, i, min);
            }
        }
    }
    //完成数组两元素间交换
    public static void swap(int[] arr,int a,int b){
        int temp = arr[a];
        arr[a] = arr[b];
        arr[b] = temp;
    }
}

注释很清晰,详细代码如下:

package cn.personal.demo01;

import java.util.Arrays;

public class NumTest {
    public static void main(String[] args) {

        int[] arrNums = new int[10];
        // 随机生成长度为10int数组
        System.out.print("随机生成一个长度为10的int数组:[");
        for (int i = 0; i < arrNums.length; i++) {
            arrNums[i] = (int) (Math.random() * 100) + 1;
            if (i == 9) {
                System.out.print(arrNums[i]);
            } else {
                System.out.print(arrNums[i] + ",");
            }

        }
        System.out.println("]");

        // 获取最大值,最小值,总值和平均值
        int max = arrNums[0];
        int min = arrNums[0];
        int sum = 0;
        for (int i = 0; i < arrNums.length; i++) {
            if (arrNums[i] > max)
                max = arrNums[i];
            if (arrNums[i] < min)
                min = arrNums[i];
            sum += arrNums[i];
        }
        System.out.println("最大值:" + max);
        System.out.println("最小值:" + min);
        System.out.println("总值:" + sum);
        System.out.println("平均值:" + sum * 1.0 / arrNums.length);

        //冒泡和选择排序
        bubbleSort(arrNums);
        System.out.println("冒泡排序结果:" + Arrays.toString(arrNums));
        selectSort(arrNums);
        System.out.println("选择排序结果:" + Arrays.toString(arrNums));

    }

    // 冒泡排序方法
    public static void bubbleSort(int[] arr) {
        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = 0; j < arr.length - 1 - i; j++) {
                if (arr[j] > arr[j + 1]) {
                    int temp = arr[j + 1];
                    arr[j + 1] = arr[j];
                    arr[j] = temp;
                }
            }
        }
    }

    // 选择排序方法
    public static void selectSort(int[] arr) {
        for (int i = 0; i < arr.length - 1; i++) {
            int min = i;
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[j] < arr[min]) {
                    min = j;
                }
            }
            if (min != i) {
                swap(arr, i, min);
            }
        }
    }

    // 数组两元素交换方法
    public static void swap(int[] arr, int a, int b) {
        int temp = arr[a];
        arr[a] = arr[b];
        arr[b] = temp;
    }
}

运行效果:

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7599629
  • 除此之外, 这篇博客: Java简单代码实现中的 2、给定三个int变量,求其中的最大值和最小值 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    • 通过三目运算符(表达式1?表达式2:表达式3)完成最大值和最小值的输出
    • 三目运算符:表达式1?表达式2:表达式3
      若表达式1为真,则输出表达式2,为假,则输出表达式3
    public class TestDemo {
    	public static void main(String[] args) {
    		
    		//通过三目运算符(表达式1?表达式2:表达式3)完成最大值和最小值的输出
    		int a = 36;
    		int b = 16;
    		int c = 29;
    		int max = (a>b) ? a : b;
    		max = (max>c) ? max : c;
    		int min = (a<b) ? a : b;
    		min = (min<c) ? min : c;
    		System.out.println("最大值为" + max);
    		System.out.println("最小值为" + min);
    	}
    }
    
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^