java - 我添加范围 1 - 9999 条件的代码无法使用 switch 语句运行

标签 java if-statement switch-statement

所以我在 If else 语句上创建了 LeapYearCal 这个我学习了 switch 语句我想使用 switch 重新创建它。 不知何故,我的跳跃条件有效,但我想添加条件,例如值必须在 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;

如果年份是闰年并且范围为 1-9999,则我希望输出“True”,否则如果不在范围内,则输出“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/

相关文章:

java - Java 如何处理泛型的模糊类型推断?

c# - 模式匹配失败

javascript - 在 Javascript switch 语句中运行复杂的操作

java - 切换行为 - java

java - Protocol Buffer 和枚举组合?

java 。用于创建对象实例的字符串内容

java - java中的else if语句返回语法错误

javascript - 修复 Sublime Text 2 括号匹配> 28 if()-测试?

php - 在 IF 语句中使用模运算符

Python If 语句使用 'and' 和 'in'