快捷导航

基础提问逻辑运算求解释

import java.util.Scanner;public class LeapYear {  public static void main(String[] args){   Scanner scan = new Scanner(System.in);   System.out.println("请输入年份:");   int year = scan.nextInt();   boolean flag = (year%4==0 && year%100!=0) || year%400==0;   String str = flag ? year+"是闰年" : year+"不是闰年";   System.out.println(str);   }}刚开始学很多地方都不太明白只有请教大神们了,求解释这两条语句如何判断的,尤其是第一条详细点,谢谢大神们了boolean flag = (year%4==0 && year%100!=0) || year%400==0;   String str = flag ? year+"是闰年" : year+"不是闰年";

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员2

booleanflag=(year%4==0&&year%100!=0)||year%400==0;首先这是一个判断是否是闰年的布尔值,分为两种情况(year%4==0&&year%100!=0)表示能被4整除并且不能被100整除的数;或者year%400==0能被400整除的数都表示当前年份是闰年Stringstr=flag?year+"是闰年":year+"不是闰年";这是一个三目运算符,表示如果flag为真,那么str的值为year+"是闰年"否则就是year+"不是闰年"
回复

使用道具 举报

year%4==0:年份除以4的余数为0,就是年份能被4整除;
year%100!=0:年份不能被100整除;
year%400==0:年份能被400整除;
flag的意思就是:年份能被4整除且不能被100整除的为闰年,或者年份能被400整除的为闰年。
str用到一个方法x?A:B,若x=true,输出结果A,若x=false,输出结果B。
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP