You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java开发中如何获取double类型数组中的最大值

解决方案

你可以通过以下几种常用方式获取weightList数组中的最大double值,代码都可以直接放在你定义weightList数组之后的位置使用:


方法1:手动遍历实现(兼容性最好,无额外依赖)

不需要导入任何额外工具包,所有Java版本都支持,性能开销最低,最适配你当前的场景:

// 初始化最大值为数组第一个元素
double maxWeight = weightList[0];
// 遍历数组剩余元素逐个对比
for (int i = 1; i < weightList.length; i++) {
    if (weightList[i] > maxWeight) {
        maxWeight = weightList[i];
    }
}
// 可以直接使用maxWeight做后续的阈值对比逻辑
System.out.println("最高可购买重量为:" + maxWeight + "克");

方法2:Java 8+ Stream实现(写法简洁)

如果你使用的是Java 8及以上版本,可以用Stream一行代码完成计算:

// 需在文件顶部导入java.util.Arrays包
double maxWeight = Arrays.stream(weightList).max().getAsDouble();

方法3:Collections工具类实现

需要先将基础类型数组转为包装类集合:

// 需在文件顶部导入java.util.Arrays、java.util.Collections两个包
Double[] weightListWrapper = {gramWeight, eighthWeight, quarterWeight, halfWeight, ounceWeight};
double maxWeight = Collections.max(Arrays.asList(weightListWrapper));

优化提示:你当前代码中eightPerGram是int类型数组,做单价计算时建议先转成double类型再做除法,避免整数除法带来的精度偏差,比如可将eightPerGram[0]/1修改为(double)eightPerGram[0]/1。

内容的提问来源于stack exchange,提问作者ntg_908

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 04:15:07