gpt4 book ai didi

java - 在 Java 中使用 boolean 值测试 int 变量

转载 作者:行者123 更新时间:2023-12-03 03:07:40 25 4
gpt4 key购买 nike

我仍在学习 Java,但遇到了困难并出现错误。有人可以帮助解决如何做到这一点的最佳方法吗?

    import java.util.Scanner;

public class LeapYear2 {

public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int year;
year = scan.nextInt();
boolean boolVar1,boolVar2,boolVar3;
boolVar1 = (year / 4);
boolVar2 = (year / 100);
boolVar3 = (year / 400);
if (boolVar1 == true && boolVar2 == true && boolVar3 == true)
{
System.out.println("This is a leap year.");
}
else if (boolVar1 == true && boolVar2 == true && boolVar3 != true)
{
System.out.println("This is not a leap year.");
}
else if (boolVar1 == true)
{
System.out.println("This is a leap year.");
}
else
{
System.out.println("This is not a leap year.");
}
}

}

最佳答案

如果你想知道一个 int 值是否可以被另一个值整除,你可以这样做:

boolVar1 = year % 4 == 0;
boolVar2 = year % 100 == 0;
boolVar3 = year % 400 == 0;

在 Java 中,整数和 boolean 值不可互换(与 C 等语言不同,其中 0 为 false,任何非零值都被视为 true)。您需要使用像 == 这样的比较运算符。 % 运算符是求余函数,它(从代码的其余部分来看)看起来像您想要使用的函数。

附注将来,当您询问如何处理错误时,如果您在问题中发布错误消息,将会非常有帮助。

P.P.S。您应该养成为变量指定有意义的名称的习惯。例如,我会将 boolVar1 替换为 divisibleBy4 等。当您开始编写更复杂的代码时,这将为您省去很多麻烦。

此外,正如其他人指出的那样,对于 boolean 变量 b,推荐的 Java 风格是使用

if (...b...)

而不是

if (...b == true...)

if (...!b...)

而不是

if (...b == false...)

关于java - 在 Java 中使用 boolean 值测试 int 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18432722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com