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

Kattis问题Hitastig提交报运行时错误(测试用例26/31失败)

Kattis Hitastig 运行时错误(测试用例26/31)问题排查

你的代码触发运行时错误的核心原因是输入的温度值超出了Java int类型的取值范围,导致Scanner.nextInt()抛出InputMismatchException异常。

Java中int的取值范围是-2147483648到2147483647,如果测试用例26中存在超出该范围的温度值,使用nextInt()读取就会直接触发运行时异常。

另外,你提到处理了n=0的边界情况,但当前代码在n=0时会输出Integer.MIN_VALUE和Integer.MAX_VALUE,这可能不符合题目对空输入的输出要求(不过这通常会导致答案错误而非运行时异常)。


解决方案

  1. 扩大数值类型范围:将温度相关变量改为long类型,使用Scanner.nextLong()读取输入,支持更大范围的数值。
  2. 优化空输入逻辑:若题目允许n=0,需根据要求调整输出(比如不输出内容);若题目规定n≥1则可忽略此判断。

修改后的代码:

import java.util.Scanner;

public class hitastig {
    public static void main(String[] args) {
        Scanner myScanner = new Scanner(System.in);
        int n = myScanner.nextInt();
        long maxTemp = Long.MIN_VALUE;
        long minTemp = Long.MAX_VALUE;

        for (int i = 0; i < n; i++) {
            long temp = myScanner.nextLong();
            maxTemp = Math.max(maxTemp, temp);
            minTemp = Math.min(minTemp, temp);
        }

        // 仅当存在温度数据时输出结果
        if (n > 0) {
            System.out.println(maxTemp + " " + minTemp);
        }
        myScanner.close();
    }
}

备选优化(针对大输入场景)

如果测试用例包含超大输入量,Scanner的读取效率可能不足,可改用BufferedReader提升稳定性:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class hitastig {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        long maxTemp = Long.MIN_VALUE;
        long minTemp = Long.MAX_VALUE;

        StringTokenizer st = new StringTokenizer(br.readLine());
        for (int i = 0; i < n; i++) {
            long temp = Long.parseLong(st.nextToken());
            maxTemp = Math.max(maxTemp, temp);
            minTemp = Math.min(minTemp, temp);
        }

        if (n > 0) {
            System.out.println(maxTemp + " " + minTemp);
        }
        br.close();
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 22:25:10