import java.util.Scanner;public class LeapYear {? ? ?public static void main(String[] args){? ? ? ?Scanner scan = new Scanner(System.in);? ? ? ?System.out.println("請(qǐng)輸入年份:");? ? ? ?int year = scan.nextInt();? ? ? ?boolean flag = (year%4==0 && year%100!=0) || year%400==0;? ? ? ?String str = flag ? year+"是閏年" : year+"不是閏年";? ? ? ?System.out.println(str);? ? ? ?}}剛開始學(xué)很多地方都不太明白只有請(qǐng)教大神們了,求解釋這兩條語句如何判斷的,尤其是第一條詳細(xì)點(diǎn),謝謝大神們了?boolean flag = (year%4==0 && year%100!=0) || year%400==0;? ? ? ?String str = flag ? year+"是閏年" : year+"不是閏年";
3 回答
已采納

望遠(yuǎn)
TA貢獻(xiàn)1017條經(jīng)驗(yàn) 獲得超1032個(gè)贊
boolean?flag?=?(year%4==0?&&?year%100!=0)?||?year%400==0;
首先這是一個(gè)判斷是否是閏年的布爾值,分為兩種情況(year%4==0?&&?year%100!=0)表示能被4整除并且不能被100整除的數(shù);或者year%400==0能被400整除的數(shù)都表示當(dāng)前年份是閏年
?String?str?=?flag???year+"是閏年"?:?year+"不是閏年";
這是一個(gè)三目運(yùn)算符,表示如果flag為真,那么str的值為year+"是閏年" 否則就是?year+"不是閏年"

慕粉3233872
TA貢獻(xiàn)70條經(jīng)驗(yàn) 獲得超29個(gè)贊
year%4==0:年份除以4的余數(shù)為0,就是年份能被4整除;
year%100!=0:年份不能被100整除;
year%400==0:年份能被400整除;
flag的意思就是:年份能被4整除且不能被100整除的為閏年,或者年份能被400整除的為閏年。
str用到一個(gè)方法x?A:B,若x=true,輸出結(jié)果A,若x=false,輸出結(jié)果B。
添加回答
舉報(bào)
0/150
提交
取消