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

不使用数组如何获取Scanner输入多数字的最大值,输入0时输出结果

完整实现代码
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int a;
        int maxNum = Integer.MIN_VALUE; // 记录最大值,初始设为整数最小值

        for(int i = 1; i > 0; ++i) {
            a = scanner.nextInt();
            
            // 遇到终止输入标记
            if(a <= 0) {
                if(i == 1) {
                    // 首次输入就是终止标记,无有效数字
                    System.out.println("No Number entered.");
                } else {
                    // 有有效输入,输出最大值
                    System.out.println("The largest number is " + maxNum);
                }
                break;
            }

            // 输入是有效正整数,更新最大值
            if(a > maxNum) {
                maxNum = a;
            }
            System.out.println("Number "+i+": "+a);
        }
        scanner.close();
    }
}
关键修改说明
  • 新增maxNum变量存储当前输入的最大值,每次输入有效正整数时直接和当前最大值比较更新,全程不需要使用数组存储所有输入值,符合需求要求
  • 简化了原有重复冗余的条件判断分支,仅通过输入终止时的循环次数i判断是否存在有效输入,逻辑更清晰
  • 补充了Scanner的导包语句和使用后的关闭操作,代码更规范
  • 将原有单与&对应的重复判断逻辑优化为更严谨的分支结构,避免无效的判断执行
  • 可直接运行测试:输入3 5 6 0会输出The largest number is 6,首次输入0会输出No Number entered.,完全符合需求

内容的提问来源于stack exchange,提问作者Pascal L.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 22:45:07