使用Cengage时的基础方法问题:AdmissionModularized测试未通过
问题解决方案
正确代码示例
using System; public class AdmissionModularized { public static void Main() { // 本地运行时的用户输入逻辑(测试时不会执行这部分) Console.Write("Enter your GPA: "); double gpa = Convert.ToDouble(Console.ReadLine()); Console.Write("Enter your test score: "); int testScore = Convert.ToInt32(Console.ReadLine()); string decision = AcceptOrReject(gpa, testScore); Console.WriteLine(decision); } // 符合测试要求的核心判断方法 public static string AcceptOrReject(double gpa, int testScore) { // 替换为课程要求的录取判断逻辑,示例逻辑仅作参考 if ((gpa >= 3.5 && testScore >= 60) || (gpa >= 2.5 && testScore >= 80)) { return "Accept"; } else { return "Reject"; } } }
关键修正点
- 类名必须严格为
AdmissionModularized:测试用例依赖这个类名查找入口,类名不匹配会直接触发"找不到AdmissionModularized类型"的错误。 AcceptOrReject方法必须使用传入参数:彻底移除方法内部读取Console输入的代码,直接用方法参数中的gpa和testScore进行判断。测试用例是直接传参调用该方法的,内部读输入会完全忽略测试参数,导致返回结果不符合预期。- 方法签名要匹配要求:确保方法是
public static string类型,参数的类型、顺序和数量必须和任务要求一致(比如GPA为double、测试分数为int,顺序不能颠倒)。 - 返回值严格匹配:必须精确返回
"Accept"或"Reject"字符串,注意大小写和拼写,不能有多余空格或其他字符。
内容的提问来源于stack exchange,提问作者HunterKr97
相关产品推荐
相关产品推荐

