编写程序,判断给定的某个年份是否是闰年。
闰年的判断规则如下:
(1)若某个年份能被4整除但不能被100整除,则是闰年。
(2)若某个年份能被400整除,则也是闰年。
程序一:
package exercise;
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern;
public class IsLeapYear { public static boolean isNum(String str){ boolean isNum=true; for(int i=0;i<str.length();i++){ //mark if the year is a number; isNum=false; if(str.codePointAt(i)>47&&str.codePointAt(i)<58){ isNum=true; } if(isNum==false){ break; }
}//for return isNum; }
public void isHeapYear(){ int year=0;
System.out.println("Please input the year you want to judge:");
Scanner in=new Scanner(System.in); String temp=in.next();
if(!isNum(temp)){ System.out.println("the year you input is not valid"); }else{ year=Integer.parseInt(temp); if(year<1980||year>2050){ System.out.println("the year you input is not in the scale"); System.exit(1); }else if((year%4==0&&year%100!=0)||year%400==0){ System.out.println(year+" is a leap year"); }else{ System.out.println(year+" is not a leap year"); } }
} public static void main(String[] args){
new IsLeapYear().isHeapYear();
} }
程序二:
package exercise;
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern;
public class IsLeapYearReg {
public static boolean isNum(String str){ Pattern p = Pattern.compile("[0-9]*"); Matcher isNum = p.matcher(str); if(isNum.matches()){ return true; }else{ return false; } }
public void isHeapYear(){ int year=0;
System.out.println("Please input the year you want to judge:");
Scanner in=new Scanner(System.in); String temp=in.next();
if(!isNum(temp)){ System.out.println("the year you input is not valid"); }else{ year=Integer.parseInt(temp); if(year<1980||year>2050){ System.out.println("the year you input is not in the scale"); System.exit(1); }else if((year%4==0&&year%100!=0)||year%400==0){ System.out.println(year+" is a leap year"); }else{ System.out.println(year+" is not a leap year"); } } }
public static void main(String[] args){ new IsLeapYearReg().isHeapYear(); } }
|
请发表评论