提问者:小点点

阅读方法


我是新来的,我正在学习使用方法等等,我在方法中有我的代码,但在代码中有一个控制台。ReadLine();这是我不想要的。基本上,我需要做的是一个包含10个方法的大作业,作为输入,你必须调用哪个方法,然后调用实际的输入,但是当我的方法中有一个readline时,我必须给出3个,而不是2个。如果有人知道如何帮助noob,我的代码如下
基本上是int.parse(consolereadline);我需要以某种方式删除它,以便我只能读取方法编号,然后读取实际输入。

 static object GetNextLeapYear(int year1)
    {
        int n, year;
        n = int.Parse(Console.ReadLine());
        year = n + 4 - (n % 4);
        if ((year % 100 == 0) && (year % 400 != 0))
        {
            year += 4;
        }
        return year;


    }
    static void Main(string[] args)
    {
        string method = Console.ReadLine();
        switch (method)
        {
            case "1":
                int input = Convert.ToInt32(Console.ReadLine());
                GetNextLeapYear(input);
                Console.WriteLine($"{GetNextLeapYear(input)}");
                
                break;

共2个答案

匿名用户

我认为您正在寻找的是删除对GetNextLeapYear(input)的第一个调用案例“1”正文中。您没有存储该调用的结果,而是在控制台中显示第二个调用的结果。WriteLine($“{GetNextLeapYear(input)}”)这会导致对控制台进行额外(且不必要)调用。GetNextLeapYear方法中的ReadLine。

匿名用户

只需删除“n=int.Parse(Console.ReadLine())”我根本不知道为什么需要它

static int GetNextLeapYear(int inputYear)
{
        var year = inputYera+ 4 - (inputYear % 4);
        if ((year % 100 == 0) && (year % 400 != 0)) year += 4;   
        return year;
}

和代码

Console.WriteLine("pls, type a year");
 int input = Convert.ToInt32(Console.ReadLine());
var leapYear = GetNextLeapYear(input);
Console.WriteLine($"next leap year is {leapyear}");

但你会用这样的东西作为方法如果不是你的高中课题

public static int GetNextLeapYear(int year)
{
        do {

        year=year+1;

        if (DateTime.IsLeapYear(year)) return year;
         
    } while (true)
}