<font size="5px" color="#87CEFA" >描述</font>
問題描述
有些西方人比較迷信岛心,如果某個(gè)月的13號(hào)正好是星期五来破,他們就會(huì)覺得不太吉利,用古人的說法忘古,就是“諸事不宜”徘禁。請你編寫一個(gè)程序,統(tǒng)計(jì)出在某個(gè)特定的年份中髓堪,出現(xiàn)了多少次既是13號(hào)又是星期五的情形送朱,以幫助你的迷信朋友解決難題娘荡。
說明:(1)一年有365天,閏年有366天驶沼,所謂閏年它改,即能被4整除且不能被100整除的年份,或是既能被100整除也能被400整除的年份商乎;(2)已知1998年1月1日是星期四央拖,用戶輸入的年份肯定大于或等于1998年。
輸入格式:輸入只有一行鹉戚,即某個(gè)特定的年份(大于或等于1998年)鲜戒。
輸出格式:輸出只有一行,即在這一年中抹凳,出現(xiàn)了多少次既是13號(hào)又是星期五的情形遏餐。
輸入輸出樣例
****<font size="5px" color="#87CEFA" >輸入</font>****
輸入描述:
輸入樣例:
1998
****<font size="5px" color="#87CEFA" >輸出</font>****
輸出描述:
輸出樣例:
3
****<font size="5px" color="#87CEFA" >思路分析</font>****
? ?????這道題其實(shí)我自己一開始并不是這樣做,后來在網(wǎng)上看到其他人的簡便方法赢底,就拿過來借鑒一下失都。這道題首先是創(chuàng)建了一個(gè)Calendar對象,侯然循環(huán)遍歷12個(gè)月幸冻,c.set方法是一個(gè)設(shè)置日期的函數(shù)(三個(gè)參數(shù)分別為年月日)粹庞,其中需要注意的是這個(gè)方法的月是從0開始計(jì)算的。之后調(diào)用c.get方法獲取星期洽损,如果等于6則總數(shù)sum++庞溜。最后輸出結(jié)果。
import java.time.DayOfWeek;
import java.util.Calendar;
import java.util.Scanner;
public class lanqiao1185 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int sum = 0;
Calendar c = Calendar.getInstance(); //創(chuàng)建Calendar對象
for (int i = 0; i < 12; i++) {
c.set(a, i,13); //0表示1月,11表示12月
if (c.get(Calendar.DAY_OF_WEEK) == 6) //1表示周日...6表示周五,7表示周六
sum++;
}
System.out.println(sum);
}
}