黑马程序员技术交流社区
标题:
有没有更简单的方法?
[打印本页]
作者:
lvwangxiao
时间:
2016-3-14 11:38
标题:
有没有更简单的方法?
题目:键盘输入年份和月份,然后控制台返回该月份的天数(闰年2月29天).
(闰年:年份是整百数时,必须是400的倍数才是闰年)
import java.util.Scanner;
public class Mymonth {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份:");
int year = sc.nextInt();
System.out.println("请输入月份:");
int month = sc.nextInt();
if(year%400 == 0){
System.out.println("您输入的年份是闰年!");
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println("您输入的月份有31天!");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println("您输入的月份有30天");
break;
case 2:
System.out.println("您输入的月份有29天!");
break;
default:
System.out.println("您输入的月份有误!");
break;
}
}else{
System.out.println("您输入的年份不是闰年!");
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println("您输入的月份有31天!");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println("您输入的月份有30天");
break;
case 2:
System.out.println("您输入的月份有28天!");
break;
default:
System.out.println("您输入的月份有误!");
break;
}
}
}
}
复制代码
感觉自己写的太麻烦了,有没有简单一点的方法?
作者:
Andyhuai
时间:
2016-3-14 12:00
用switch太麻烦了!!!换个
作者:
神祈灬丨狂想曲
时间:
2016-3-14 13:26
吧switch换成if elseif 用区间判断
作者:
喧闹的世界
时间:
2016-3-14 14:32
Java提供了canlendar日历类,可以通过这个类来进行所有判断,你可以了解下,不谢!
作者:
0308lidong
时间:
2016-3-14 18:07
来学学习了!!
作者:
dmadboy
时间:
2016-3-14 20:04
认真分析不难发现,1,3,5,7,8,10,12月是否闰年都不影响判断,完全可以提出来单独判断,还有月份错误判断,4,6,9,11月也可以单独判断,就闰年2月判断一下就行了
作者:
超人d咖啡也加糖
时间:
2016-3-14 20:06
用calendar类可以实现
作者:
兵蜂
时间:
2016-3-14 20:43
学习了,逐步简化代码!最直观的,对于我这种小白可以,谢谢了!
作者:
赵国政
时间:
2016-3-14 21:29
看着是挺麻烦的 来看有没有简单方法
作者:
大大阳
时间:
2016-3-14 22:00
干嘛要用switch?三种循环方式,你换其他的事实,
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2