我们在学习数组的时候,最开始都要学习这样一个案例,就是数组求最大值,最小值,总值,平均值。那么在这里笔者用两种方式实现,一种是静态数组实现,一种是动态数组实现。
第一种:使用静态数组实现。在代码中我做了解释说明,静态数组相对简单。
package demo;
public class demo1 {
public static void main(String[] args) {
//定义静态数组
int[] nums = {9, 2, 3, 4, 5, 6, 7, 8, 2, 10};
//定义最大值和最小值用于储存最大值和最小值
int maxNum = nums[0];
int minNum = nums[0];
int sum = 0;
//循环遍历数组
for (int i = 0; i < nums.length; i++) {
if (nums[i] > maxNum) {
maxNum = nums[i];
}
if (nums[i] < minNum) {
minNum = nums[i];
}
sum += nums[i];
}
System.out.println("数组的最大值为:" + maxNum);
System.out.println("数组的最小值为:" + minNum);
System.out.println("数组的总和为:" + sum);
System.out.println("数组的平均值:" + sum / nums.length);
}
}
第二种:使用动态数组。
动态数组相对有点难度。我做了相对应的代码说明。
package demo;
import java.util.Scanner;
public class demo3 {
public static void main(String[] args) {
//动态数组求最值
//创建一个动态数组
int[] arr = new int[5];
//创建扫描器
Scanner sc = new Scanner(System.in);
//定义一个求和的变量,用来累加数组中的值
int sum = 0;
for (int i = 0; i < arr.length; i++) {
//因为数组的索引说是从0开始的,所以这里要使用(i+1)
System.out.print("请您输入第" + (i + 1) + "个数字:");
//循环输入数据,把这些数据一个一个的填入到数组中
arr[i] = sc.nextInt();
sum += arr[i];
}
/*
* 这里和上面那种方法有点区别,如果你把最大值和最小值的初始值放到上面,那么不好他们的初始值会是0
* 最大值没有事,这里为了美观就把它放下来
* 最小值就有问题了,因为它已开是存的初始值就是0,如果数组中没有负数出现,那么不管数组中的值是什么,最后都是0
* */
//定义最小值的初始值,方便计算
int min = arr[0];
//定义最大值的初始值,方便计算
int max = arr[0];
for (int j : arr) {
if (j > max) {
max = j;
}
if (j < min) {
min = j;
}
}
System.out.println("数组的最大值为:" + max);
System.out.println("数组的最小值为:" + min);
System.out.println("数组的总和为:" + sum);
//这里的平均值取得是整数
System.out.println("数组的平均值:" + sum / arr.length);
}
}
注:用笔者的能力有限,文章里面的代码出现很多的问题,如果您在阅览或者使用我的代码出现问题时发现了问题,还请您在评论区留言,笔者在看到后会在第一时间解决问题,谢谢。