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

MATLAB构造函数SetTimeConstruct自测正常 但Grader报变量y值错误

问题排查

你的代码存在2处可导致Grader判题失败的问题:

  • 参数不足分支的变量名拼写错误:else分支中TImeHrMin.minutesVal的变量名第二个字符误写为大写I,正确应为TimeHrMin.minutesVal。当Grader测试传入1个/0个参数的边界用例时,代码会直接抛出「未定义函数或变量'TImeHrMin'」的错误,导致判题失败。
  • 赋值语句缺分号导致多余输出:TimeHrMin.hoursVal = hoursVal、TimeHrMin.minutesVal = minutesVal两行末尾没有加分号,运行时会在命令行打印字段值,部分严格的判题规则会将多余输出判定为异常。

修正后代码

function TimeHrMin = SetTimeConstruct(hoursVal, minutesVal)
    if nargin == 2
        % 校验小时范围
        if (hoursVal > 24 || hoursVal < 0)
            TimeHrMin.hoursVal = 0;
        else
            TimeHrMin.hoursVal = hoursVal;
        end 
        % 校验分钟范围
        if (minutesVal > 60 || minutesVal < 0)
            TimeHrMin.minutesVal = 0;
        else
            TimeHrMin.minutesVal = minutesVal;
        end
    else
        disp("Error with wrong number of arguments passing to the function");
        TimeHrMin.hoursVal = 0;
        TimeHrMin.minutesVal = 0;
    end
end

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 21:45:09