014 java一维数组求最大值与最小值

例1:求最高分与最低分。

求最大值与最小值的思想是:就像是打擂台那样,最开始擂台上站着最厉害/最小的一个叫max/min,然后其他人都来跟这个max/min比较打擂台,输了的那个就*,所以擂台上能够始终保持最大/最小的那个数。

步骤:首先把数组的第一个数赋值给变量max和min,分别表示最大值和最小值,

再依次将数组的其他数值与当前的max和min进行比较,如果比当前的大/小,就替换掉

知道数组最后一个值比较完,最后输出最大值和最小值。

public class Example{
    public static void main(String[] args) {
        int score[] = { 67, 89, 87, 69, 90, 100, 75, 90 }; // 初始化数组
        int max = 0; // 定义变量保存到最大值
        int min = 0; // 定义变量保存到最小值
        max = min = score[0]; // 把第1个元素的内容赋值给max和min
        for (int x = 0; x < score.length; x++) { // 循环求岀最大和最小
            if (score[x] > max) { // 依次判断后续元素是否比max大
                max = score[x]; // 如果大则修改max内容
            }
            if (score[x] < min) { // 依次判断后续的元素是否比min小
                min = score[x]; // 如果小,则修改min内容
            }
        }
        System.out.println("最高成绩:" + max); // 输出最大值
        System.out.println("最低成绩:" + min); // 输出最小值
    }
}

例2:统计商品信息。

在一个货架上有 5 件商品,编写程序,在输入商品价格之后输出最高价格、总价格和平均价格。

首先要创建一个包含 5 个空元素的价格数组,然后使用 for 循环使用户从控制台录入商品的价格,并将价格保存至数组中,再使用一个 for 循环来遍历该数组,求出最高价格和总价格。最后用总价格除以商品数量算出平均价格。

接收数值:

for (int i = 0; i < 5; i++) {
        prices[i] = input.nextInt(); // 循环向数组中元素赋值
    }

求和思想:for循环遍历数组每一个元素并将其相加,结果保存在sum中。

求平均值思想:平均值=总和/数组中的元素个数(可以用数组名.length表示)

public static void main(String[] args) {
    // 声明数组
    int[] prices = new int[5];
    int maxPrice = 0, avgPrice = 0, sumPrice = 0;
    Scanner input = new Scanner(System.in);
    System.out.println("请输入5件商品的价格:");
    for (int i = 0; i < 5; i++) {
        prices[i] = input.nextInt(); // 循环向数组中元素赋值
    }
    // 计算价格最大值
    maxPrice = prices[0]; // 假设最大值为第一个元素
    for (int index = 1; index < prices.length; index++) {
        sumPrice += prices[index]; // 汇总价格
        if (prices[index] > maxPrice) {
            maxPrice = prices[index];
        }
    }
    // 平均价格=总价格/商品数量
    avgPrice = sumPrice / prices.length;
    System.out.println("本货架上商品的总价格为:" + sumPrice + " 平均价格为:" + avgPrice + " 最高价格为:" + maxPrice);
}

该程序运行后的结果如下所示。

请输入5件商品的价格:
88
64
44
62
79
本货架上商品的总价格为:249 平均价格为:49 最高价格为:88

 

上一篇:C#的并集差集交集


下一篇:Pygame写飞机大战游戏中异常处理记录