1. 求數值型數組中元素的最大值、最小值、平均值、總值等 2. 數組的複製、反轉、查找(線性查找、二分法查找) ...
求數值型數組中元素的最大值、最小值、平均值、總值等
package com.mxf.test;
/*
* 題目:定義一個int型的一維數組,包含10個元素,賦值一些隨機整數(兩位數)
* 求出所有元素的最大值、最小值、和值、平均值並輸出
*/
public class Test4 {
public static void main(String[] args) {
int[] arr = new int[10];
//2位數:10~99 99-10+1=90,+10
for(int i=0;i<arr.length;i++) {
arr[i] = (int)(Math.random()*90)+10;
}
for(int i=0;i<arr.length;i++) {
System.out.print(arr[i]+"\t");
}
System.out.println();
//求數組元素的最大值
int max = arr[0];
for(int i=0;i<arr.length;i++) {
if(max<arr[i]) {
max = arr[i];
}
}
System.out.println("最大值為:"+max);
//求數組元素的最小值
int min = arr[0];
for(int i=0;i<arr.length;i++) {
if(min>arr[i]) {
min = arr[i];
}
}
System.out.println("最小值為:"+min);
//求數組元素的總和
int sum = 0;
double average = 0;
for(int i=0;i<arr.length;i++) {
sum += arr[i];
}
//求數組元素的平均值
average = (sum+0.0)/arr.length;
System.out.println("和值為:"+sum);
System.out.println("平均值為:"+average);
}
}
數組的複製、反轉、查找(線性查找、二分法查找)
//1. 數組的複製,註意區分於數組之間的賦值(地址值)
public class Test5 {
public static void main(String[] args) {
int[] array1 = new int[] {2,3,5,7,11,13,17,19};
int[] array2 ;
array2 = new int[array1.length];
for(int i=0;i<array2.length;i++) {
array2[i]=array1[i];
}
//遍歷
for(int i=0;i<array1.length;i++) {
System.out.print(array1[i]+" ");
}
System.out.println();
}
}
//2. 數組的反轉
for(int i=0;i<array1.length/2;i++) {
int num = array1[i];
array1[i] = array1[array1.length-i-1];
array1[array1.length-i-1] = num;
}
//3.數組的查找
//3.1線性查找
int dest = 11;
boolean flag = true;
for(int i=0;i<array1.length;i++) {
if(array1[i]==dest) {
System.out.println("找到了指定的元素,位置為:"+i);
flag = false;
break;
}
}
if(flag) {
System.out.println("很抱歉,沒有找到哦!");}
//3.2二分法查找(熟悉——後續有現成的結構)前提:所要查找的數組必須有序【挺像數學中的二分法找最大值的】
//2,3,5,7,11,13,17,19
int dest1 = 17;
int head = 0;
int end = array1.length-1;
boolean isFlag = true;
while(head<=end) {
int mid = (head+end)/2;
if(dest1==array1[mid]) {
System.out.println("找到了指定的元素,位置為:"+mid);
isFlag = false;
break;
}else if(dest1>array1[mid]) {
head = mid+1;
}else {
end = mid-1;
}
}
if(isFlag) {
System.out.println("很抱歉,沒有找到哦!");
}