黑马程序员技术交流社区
标题:
编写程序,判断给定的某个年份是否是闰年。
[打印本页]
作者:
wangyuyus
时间:
2013-10-30 16:32
标题:
编写程序,判断给定的某个年份是否是闰年。
java.util.Scanner;
class LeapYear{
public static void main(String[] arge){
System.out.print("请输入年份");
int year;
Scanner scanner = new Scanner(System.in);
year = scanner.nextInt();
if (year<0||year>3000){
System.out.println("年份有误,程序退出!");
System.exit(0);
}
if ((year%4==0)&&(year%100!=0))
System.out.println(year+"闰年");
else
System.out.println(year+"不是闰年 ");
}
}
}
}
请问一下大家,这样算闰年对么。
作者:
FFF
时间:
2013-10-30 16:59
本帖最后由 FFF 于 2013-10-30 17:01 编辑
*闰年的条件是符合下面二者之一:(1)年份能被4整除,但不能被100整除;(2)能被400整除。
(如2004年就是闰年,1800年不是。)2。能被400整除。(如2000年是闰年)
if(((year % 4 == 0)&& (year % 100 != 0))||year%400 == 0)
System.out.println(year + " 是闰年");
else
System.out.println(year + " 不是闰年");
}
复制代码
作者:
Jim-剣◆﹏
时间:
2013-10-30 20:17
本帖最后由 Jim-剣◆﹏ 于 2013-10-30 20:21 编辑
明显不对,应该先明确判断条件:什么是闰年?可以被4整除不能被100整除,或者可以被400整除
import java.util.*;
class YearDemo
{
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
int year = sc.nextInt();
do{
if((year%4==0&&year%100!=0)|year%400==0)
System.out.println(year+"属于闰年");
else
System.out.println(year+"不属于闰年");
}while((year = sc.nextInt())!=-1);
System.out.println("程序结束");
}
}
复制代码
作者:
喂,咱不离!
时间:
2013-10-30 20:32
本帖最后由 喂,咱不离! 于 2013-10-30 20:34 编辑
哥们儿用日期类吧,别再做逻辑判断了。
import java.util.*;
public class test
{
public static void main(String[] args) {
System.out.println(isLeapYear());
}
public static String isLeapYear() {
Scanner sc = new Scanner(System.in);
Calendar c = Calendar.getInstance();
System.out.println("请输入您要判断的年份;");
int year = sc.nextInt();
c.set(year, 2, 1);//获取任意年的三月一日
c.add(Calendar.DAY_OF_MONTH, -1);//用三月一日减去一天,就是二月的最后一天啦
return c.get(Calendar.DAY_OF_MONTH) == 29 ? "闰年" : "平年";//三元运算符,二月的最后一天是29的话就是闰年,反之平年~
}
}
复制代码
作者:
黄炳期
时间:
2013-10-30 21:49
如果问题已经解决,请及时修改主题为“提问结束”
修改方法:
http://bbs.itheima.com/thread-89313-1-1.html
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2