Java 如何验证布尔值是真是假

Java 如何验证布尔值是真是假,java,Java,首先,我为我的英语道歉。当谈到解释与编程相关的想法和问题时,我仍然很难弄清楚什么是错误的,我想要的是什么 守则: public static boolean isLeapYearJulian(int year) { // Modifier le code ci-dessous if (year % 4 == 0) { return true; } else { return false;

首先,我为我的英语道歉。当谈到解释与编程相关的想法和问题时,我仍然很难弄清楚什么是错误的,我想要的是什么

守则:

public static boolean isLeapYearJulian(int year) {
    // Modifier le code ci-dessous
        if (year % 4 == 0) {
            return true;
        } 
        else {
            return false;
        }

    }

    public static boolean isLeapYearGregorian(int year) {
    // Modifier le code ci-dessous
        if ((year % 4 == 0) && (year % 100 != 0) || (year % 4 == 0) && (year % 100 == 0) && (year % 400 == 0)) {
            return true;
        }
        else {
            return false;
        }

    }

    // EXERCICE 2 QUESTION 2
    public static int daysInYearJulian(int year) {
    // Modifier le code ci-dessous
        if (isLeapYearJulian == true) {
            return 366;
        }
        else {
            return 365;
        }
    }

    public static int daysInYearGregorian(int year) {
    // Modifier le code ci-dessous
        if (isLeapYearGregorian == true) {
            return 366;
        }
        else {
            return 365;
        }
    }`
问题是我想看看IsleaYearGregorian和IsleaYearJulian是不是真的,或者不知道这一年是不是真的。但是(是的,我是新来的,对编程非常陌生)我只是不记得测试布尔值。。。很遗憾,我请求你们帮忙。。。提前谢谢

顺便说一下,终端将返回以下内容:

Calendar.java:47: error: cannot find symbol
        if (isLeapYearJulian == true) {
            ^
  symbol:   variable isLeapYearJulian
  location: class Calendar
Calendar.java:57: error: cannot find symbol
        if (isLeapYearGregorian == true) {
            ^
  symbol:   variable isLeapYearGregorian
  location: class Calendar
2 errors
替换

if (isLeapYearJulian == true)

我想你想要这个

public static int daysInYearGregorian(int year) {
    boolean isLeapYearGregorian = isLeapYearGregorian(year);
    if (isLeapYearGregorian) {
        return 366;
    }
    else {
        return 365;
    }
}`
或者更简单地说

public static int daysInYearGregorian(int year) {
    if (isLeapYearGregorian(year)) {
        return 366;
    }
    else {
        return 365;
    }
}`
public static int daysInYearGregorian(int year) {
    return isLeapYearGregorian(year) ? 366 : 365;
}`
或者更简单

public static int daysInYearGregorian(int year) {
    if (isLeapYearGregorian(year)) {
        return 366;
    }
    else {
        return 365;
    }
}`
public static int daysInYearGregorian(int year) {
    return isLeapYearGregorian(year) ? 366 : 365;
}`


我想这就是您在这里测试布尔值时要做的

如果,请将其直接放入

if (boolVariable) {
    ...
}
然而,这里的问题不同——实际上应该有函数调用,因此需要括号和参数:

if (isLeapYearJulian(year)) {
    ...
}

问题是您没有调用这些函数(请参见答案)

此外,您还可以简化代码:

public static boolean isLeapYearJulian(int year) {
  return (year % 4 == 0);
}

public static boolean isLeapYearGregorian(int year) {
  if (year % 400 == 0) return true;
  if (year % 100 == 0) return false;
  return (year % 4 == 0);
}

// EXERCICE 2 QUESTION 2                              
public static int daysInYearJulian(int year) {
  return isLeapYearJulian(year) ? 366 : 365;
}

public static int daysInYearGregorian(int year) {
  return isLeapYearGregorian(year) ? 366 : 365;
}

isLeapYearjulian在这里不是一个变量,
它是指函数名的标识符:
将其更正为:

 public static int daysInYearJulian(int year) {
        if (isLeapYearJulian(year) == true) {
            return 366;
        }
        else {
            return 365;
        }
    }

首先,我想告诉您,在代码的最底层有一个重音符号(`)。不管怎么说,我唯一能看到的错误就是t

 // EXERCICE 2 QUESTION 2
public static int daysInYearJulian(int year) {
// Modifier le code ci-dessous
    if (isLeapYearJulian == true) {
        return 366;
    }
    else {
        return 365;
    }
}

public static int daysInYearGregorian(int year) {
// Modifier le code ci-dessous
    if (isLeapYearGregorian == true) {
        return 366;
    }
    else {
        return 365;
    }
}`
不管怎么说,我能看出的唯一错误是你的最后两种方法

public static int daysInYearJulian(int year) {
// Modifier le code ci-dessous
    if (isLeapYearJulian == true) {
    return 366;
    }
    else {
        return 365;
    }
}

它们各自在寻找并试图检查名为“isLeapYearGregorian”和“isLeapYearJulian”的变量的值。如果希望程序检查方法返回的值,则必须使用括号“调用”方法,如下所示:

isLeapYearJulian()


如果修复if-else语句,代码应该可以工作。

关于问题标题:如何验证布尔值是真是假——使用if块。调用方法时不使用括号或传入参数。编译器错误消息将告诉您在哪里。投票结束时出现印刷错误。@TierOne可以随意标记为已接受(绿色记号),如果它解决了您的问题:)问题已解决,非常感谢您快速而有用的回答!再次感谢!
public static int daysInYearGregorian(int year) {
// Modifier le code ci-dessous
    if (isLeapYearGregorian == true) {
        return 366;
    }
    else {
        return 365;
    }
}
isLeapYearJulian()
isLeapYearGregorian()