java - args 的运算符未定义

标签 java

当我在 java 中使用任何 boolean 运算符时,我不断收到错误消息操作符类型未定义为参数。我是否必须导入 boolean 类或其他东西?

import java.util.Scanner; //imports Scanner class 

public class LeapYear {
    public static void main (String[] args) {

        //create Scanner object
        Scanner input  = new Scanner(System.in);

        //declare variables
        int year;

        //get input
        System.out.println("Enter year: ");
        year = input.nextInt();

        //create if statement   
            if ((year/4) && !(year/100)){
                System.out.println("Leap Year");
            }
            else{
                System.out.println("Not a Leap Year");
            }
    }


}

最佳答案

与 C/C++ 不同,您不能将 int 值视为 booleans。您必须显式地将它们与零进行比较才能创建 boolean 值结果。另外,对于闰年计算,您希望在除法时比较余数,因此我们使用 % 而不是 /:

if ((year % 4 == 0) && (year % 100 != 0)) {

不要忘记能被 400 整除的年份,即闰年。我会将更改留给您。

关于java - args 的运算符未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19104904/

相关文章:

java - 保存字符串,然后在另一个 JFrame 上使用它

java - 在java.util.Date或java.sql.Date之间进行选择

java - textPersonName 和 textPassword 之间的比较

java - 为什么 jmf 不能播放 rtp 流?

java - 如何处理页面未找到或显示异常

java - 将 Java 项目迁移到 AspectJ (Eclipse AJDT)

java - 项目在 NetBeans 上运行良好,但 .jar 出现错误

java - 无法为 Spring Integration 5.0.4 (Spring 5.0.5) 创建 Kotlin 配置

java - BufferedWriter java 问题

java - 混淆字符串