基礎練習 閏年判斷(java)

問題描述

給定一個年份,判斷這一年是不是閏年。

當以下情況之一滿足時,這一年是閏年:

1. 年份是4的倍數而不是100的倍數;

2. 年份是400的倍數。

其他的年份都不是閏年。

輸入格式

輸入包含一個整數y,表示當前的年份。

輸出格式

輸出一行,如果給定的年份是閏年,則輸出yes,否則輸出no。

說明:當試題指定你輸出一個字符串作爲結果(比如本題的yes或者no,你需要嚴格按照試題中給定的大小寫,寫錯大小寫將不得分。

樣例輸入

2013

樣例輸出

no

樣例輸入

2016

樣例輸出

yes

數據規模與約定

1990 <= y <= 2050。

方法1:

這個是通過藍橋杯的測試系統的

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner inScanner =new Scanner(System.in);
		int y = inScanner.nextInt();
		inScanner.close();
		if(y>=1990 &&y<=2050) {
			if(y%4==0 && y%100!=0) {
				System.err.println("yes");
			}
			else if (y%400==0) {
				System.out.println("yes");
				
			}
			else {
				System.out.println("no");
			}
		}
	}
}

方法2

這個結果通過,但是在藍橋系統上只有50分,這裏是採用java自帶的系統函數,日曆中的set(),get()函數方法的

主要可以查看API,我覺得這兩個函數在calendar的應用中,比較常見,可以學習下這個函數的具體用法

import java.util.Calendar;
import java.util.Scanner;

import com.sun.org.apache.bcel.internal.generic.I2F;

public class Main {

	public static void main(String[] args) {
		Calendar calendar = Calendar.getInstance();
		Scanner inScanner = new Scanner(System.in);
		int year = inScanner.nextInt();
		inScanner.close();
		if(year>=1990 && year<=2050) {
			calendar.set(year, 1,29);
			int m = calendar.get(calendar.MONTH)+1;
			if(m==2)
				System.err.println("year");
			else {
				System.out.println("no");
			}
		}
				

	}

}

發佈了21 篇原創文章 · 獲贊 8 · 訪問量 3374
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章