因此,我在If else语句上创建了LeapYearCal,我学习了switch语句,我想使用switch重新创建它。
不知何故,我的跳转条件正在工作,但是我想添加条件,例如value必须在1-9999中,否则它将返回false。但是当我的代码不正确时,如何解决该问题?

public static boolean isLeapYear(int year)
{
    switch ( year % 4)
    {
        case 0:
            if (year % 100 == 0)
            {
                    if ( (year % 400 == 0) )
                    {
                       if (year > 0)
                       {
                            if (year <= 9999)
                            {
                                return true;
                            }
                             else
                                return false;
                       }
                       else
                           return false;
                    }
                    else
                        return false;
            }
            else
                return true;
        default:
             break;
    }
    return false;


如果年份是Le年并且范围是1-9999,我想输出“ True”,否则,如果它不在范围内,则不管结果是leap年,都是“ False”

最佳答案

在此用例中使用switch-case语句是不合适的。该解决方案基于this code

public static boolean isLeapYear(int year){
        boolean flag = false;
        if (year > 0 && year < 10000)
        {
            flag = false;
        }
        else if(year % 400 == 0)
        {
            flag = true;
        }
        else if (year % 100 == 0)
        {
            flag = false;
        }
        else if(year % 4 == 0)
        {
            flag = true;
        }
        else
        {
            flag = false;
        }
        return flag;
}

关于java - 我的代码在添加条件1-9999的条件下无法使用switch语句工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57093267/

10-14 18:16
查看更多