对一个随机生成的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];
// 随机生成长度为10的int数组
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;
}
}
运行效果:
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);
}
}