If语句中的逻辑错误

来源:爱站网时间:2021-09-16编辑:网友分享
我尝试过1900年,在我的程序中将其打印为a年,但是1900年不应该是a年。有人可以帮助我了解if条件背后的逻辑吗?类LeapYearTrial {public ...

问题描述


我尝试过1900年,在我的程序中将其打印为a年,但是1900年不应该是a年。有人可以帮助我了解if条件背后的逻辑吗?

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

   String s;
   int year;

   s = JOptionPane.showInputDialog("Enter year");
   year = Integer.parseInt(s);

   if ((year % 100 == 0) && (year % 400 == 0) || (year % 4 == 0)){ 

      JOptionPane.showMessageDialog(null, year + " is a leap year"); 

   } else {

      JOptionPane.showMessageDialog(null, year + " is not a leap year");
      }
   }
}

思路:


因为以下返回true

(year % 100 == 0) && (year % 400 == 0) || (year % 4 == 0)

P.S .:如果您正在检查year % 4 == 0,则无需检查任何其他谓词。

上一篇:java褪色

下一篇:DAO包结构

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载