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

C#运行报错:无对应Program.Year(int)必需形参num1的实参,如何修复?

报错原因
  • 编译错误直接来自方法调用和方法签名不匹配:你定义的Year方法要求传入一个int类型的必填参数num1,但在Main方法中调用Year()时没有传入任何参数,因此触发编译报错。
  • 原有方法设计存在冗余:你已经在Year方法内部通过读取控制台输入给num1赋值了,方法定义时声明的num1形参没有实际作用,属于多余内容。
  • 原有闰年判断逻辑不严谨:仅判断年份能被4整除会出现误判,正确的闰年判断规则为能被4整除且不能被100整除,或者能被400整除。
修复后的完整代码
namespace ConsoleApp4
{
    class Program
    {
        // 移除多余的num1形参
        public static int Year()
        {
            Console.WriteLine("请输入一个年份:");
            int num1 = Convert.ToInt32(Console.ReadLine());
            // 修正闰年判断逻辑
            if ((num1 % 4 == 0 && num1 % 100 != 0) || num1 % 400 == 0)
            {
                Console.WriteLine("该年份是闰年。");
            }
            else
            {
                Console.WriteLine("该年份不是闰年。");
            }
            Console.ReadLine();
            return num1;
        }
        static void Main(string[] args)
        {
            Console.WriteLine(Year());
            Console.ReadLine();
        }
    }
}
可选优化点
  • 增加输入合法性校验,捕获用户输入非数字内容的异常,避免程序直接崩溃
  • 按需删减多余的Console.ReadLine()调用,避免运行时需要多次回车才能推进流程

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 10:36:07