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

Java中接收用户输入求三个数最大值的三种实现方法咨询

Java实现三数求最大值的第三种方案

你已经掌握的嵌套if-else、嵌套调用Math.max()都是非常基础的实现方式,第三种推荐用顺序打擂比较法实现,没有多层嵌套,逻辑直白好维护,也是实际开发里处理同类最值问题最常用的思路。

实现逻辑

  • 接收用户输入的三个数值,统一转为你需要的数值类型(整数用int、小数用double即可)
  • 先把第一个输入的数值赋值给临时最大值变量,作为初始“擂主”
  • 拿第二个数值和当前临时最大值比较,如果第二个数更大,就把临时最大值更新为第二个数
  • 拿第三个数值和更新后的临时最大值比较,如果第三个数更大,就把临时最大值更新为第三个数
  • 最终存下来的临时最大值就是三个数里的最大值

代码示例

import java.util.Scanner;

public class CalculateMax {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 读取用户输入的三个整数
        System.out.print("请输入第一个数值:");
        int a = scanner.nextInt();
        System.out.print("请输入第二个数值:");
        int b = scanner.nextInt();
        System.out.print("请输入第三个数值:");
        int c = scanner.nextInt();

        // 打擂法计算最大值
        int maxVal = a;
        if (b > maxVal) {
            maxVal = b;
        }
        if (c > maxVal) {
            maxVal = c;
        }

        System.out.println("三个数值的最大值为:" + maxVal);
        scanner.close();
    }
}

方案优势

  • 没有多层嵌套的判断或方法调用,代码从上到下线性执行,新手读起来没有理解门槛
  • 扩展性强,如果后续要改成求4个、5个甚至更多输入值的最大值,只要新增一段单分支if判断,把新输入的值和当前maxVal比较更新即可,不需要重构原有逻辑
  • 不容易写出边界bug,每一步判断的逻辑都很独立,排查问题时可以直接打印每一步的maxVal定位问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 07:24:18