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

D286 Java基础PA:代码输出正确但测试不通过求排查

问题排查:Java程序输出格式不符合要求导致测试失败

你的代码计算逻辑是正确的,但输出格式不符合题目要求,这是测试判错的核心原因:

题目明确要求三个乘积用空格分隔、结尾换行,而你的代码会在最后一个结果后多输出一个空格——循环内每次执行System.out.print(results + " ");,三次循环后会输出结果1 结果2 结果3 (注意结尾的多余空格),再执行System.out.println();,最终输出的格式和判题系统的预期不匹配,在线判题对空格、换行这类格式细节通常要求严格。

修正方案一:调整输出顺序(先输出第一个结果,后续结果前加空格)

import java.util.Scanner;

public class LabProgram {

    public static void main(String[] args) {
        Scanner scnr = new Scanner(System.in);
        int starting_num = scnr.nextInt();
        int multiplier = scnr.nextInt();
        
        int result = starting_num * multiplier;
        // 先输出第一个结果,无前置空格
        System.out.print(result);
        // 循环输出剩下2个结果,每个结果前加空格
        for(int i = 1; i < 3; ++i) {
            result = result * multiplier;
            System.out.print(" " + result);
        }
        System.out.println();
    }
}

修正方案二:预存结果后一次性拼接输出

import java.util.Scanner;

public class LabProgram {

    public static void main(String[] args) {
        Scanner scnr = new Scanner(System.in);
        int starting_num = scnr.nextInt();
        int multiplier = scnr.nextInt();
        
        int result1 = starting_num * multiplier;
        int result2 = result1 * multiplier;
        int result3 = result2 * multiplier;
        
        // 直接按要求格式拼接后输出,避免多余空格
        System.out.println(result1 + " " + result2 + " " + result3);
    }
}

两种方案都能保证输出结果为结果1 结果2 结果3(结尾无多余空格,仅换行),完全匹配题目格式要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 03:42:07