A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jianjiao 中级黑马   /  2015-9-3 15:44  /  2938 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

代码如下:
if(!(year%4&&year%100||!year%400))

看了代码,不明白意思。

比如:year = 5    !(5%4 = 1 ->为真,5%100 = 5 ->为真,(!(5%400 = 5 ) -> 为假)-为真)->为假
能写下详细的思路吗?
         

10 个回复

倒序浏览
闰年与平年的区别呀!(!(5%400 = 5 ) -> 为假)-为真)这句错着的那
回复 使用道具 举报
前面还有一个 :!
我是括起来的为
回复 使用道具 举报
to_love 发表于 2015-9-3 16:07
闰年与平年的区别呀!(!(5%400 = 5 ) -> 为假)-为真)这句错着的那


前面还有一个 :!
我是括起来的为
回复 使用道具 举报
首先你的知道什么是闰年
1)能被4整除但不能被100整除
2)能被100整除又能被400整除
然后还得知道逻辑运算符优先次序,那么这道题就简单了
if(!([(year%4)&&(year%100)]||(!year%400)))
先扒开一层,最外层是非!,那么()里即
[(year%4)&&(year%100)]||(!year%400)则为假
即(year%4)&&(year%100)为假
且(!year%400)为假
所以能判断闰年
回复 使用道具 举报
Joker_999 发表于 2015-9-3 16:43
首先你的知道什么是闰年
1)能被4整除但不能被100整除
2)能被100整除又能被400整除

判断是否为 闰年:
1)能被4整除但不能被100整除
2)能被400整除
和你上面那个有区别吗?
回复 使用道具 举报
jianjiao 发表于 2015-9-3 17:16
判断是否为 闰年:
1)能被4整除但不能被100整除
2)能被400整除

结果没区别吧! 能被400整除肯定能被100整除
不过我指的是闰年定义
回复 使用道具 举报
Joker_999 发表于 2015-9-3 17:24
结果没区别吧! 能被400整除肯定能被100整除
不过我指的是闰年定义

{:2_33:}  好像要是哦
好哈哈哈
回复 使用道具 举报
坐看交流,第一个的代码表示没看懂.
回复 使用道具 举报
楼主为什么不这样写呢 if((y%4==0&&y%100!=0)||y%400==0){}
回复 使用道具 举报
Ahcn 中级黑马 2015-9-28 21:55:29
11#
坐看大神解析,我看都没看懂,只能猜出个大概
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马