基础提问逻辑运算求解释

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+"不是闰年";


青春都喂了狗
浏览 1289回答 3
3回答

望远

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

慕粉3233872

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,查看更多内容
随时随地看视频慕课网APP

相关分类

Java