您的位置:首页 > 理论基础

计算机技术课实验报告7

2012-09-24 21:53 246 查看
实验目的:

从键盘上输入一个年份,并输入一个月份,计算从当前年份1月1号只当前第month个月共有多少天(如输入年份为2011,月份为3月,则计算,从1月1号到3月1号共多少天。输入年份为2004,月份为10月,则计算,从1月1号到10月1号共多少天即计算从1月n-1月共有多少天)

实验代码:

public class daiMa7 {
public static void main(String[] args) {

System.out.println("请输一个年份:");
int year = Console.readInt();

int month2;
if((year % 4 == 0 || year % 100 != 0) && year % 400 == 0)
{
month2 = 29;
}
else
month2 = 28;

System.out.println("请输一个月份:");
int month = Console.readInt();

switch(month)
{
case 1:System.out.println("从当前年份1月1号到第1个月共有0天"); break;
case 2:System.out.print("从当前年份1月1号到第2个月共有"+31+"天"); break;
case 3:System.out.print("从当前年份1月1号到第3个月共有");
System.out.print(31+month2);
System.out.print("天"); break;
case 4:System.out.print("从当前年份1月1号到第4个月共有");
System.out.print(62+month2);
System.out.print("天"); break;
case 5:System.out.print("从当前年份1月1号到第5个月共有");
System.out.print(92+month2);
System.out.print("天"); break;
case 6:System.out.print("从当前年份1月1号到第6个月共有");
System.out.print(123+month2);
System.out.print("天"); break;
case 7:System.out.print("从当前年份1月1号到第7个月共有");
System.out.print(153+month2);
System.out.print("天"); break;
case 8:System.out.print("从当前年份1月1号到第8个月共有");
System.out.print(184+month2);
System.out.print("天"); break;
case 9:System.out.print("从当前年份1月1号到第9个月共有");
System.out.print(215+month2);
System.out.print("天"); break;
case 10:System.out.print("从当前年份1月1号到第10个月共有");
System.out.print(245+month2);
System.out.print("天"); break;
case 11:System.out.print("从当前年份1月1号到第11个月共有");
System.out.print(276+month2);
System.out.print("天"); break;
case 12:System.out.print("从当前年份1月1号到第12个月共有");
System.out.print(306+month2);
System.out.print("天"); break;
default:System.out.println("月份输入有误!"); break;
}
}
}


实验结果:

请输一个年份:
2004
请输一个月份:
8
从当前年份1月1号到第8个月共有212天


实验心得:

看起来的确是好复杂啊。说实话,真的是不知道对于这道题目,我的这种做法,是不是很好的解决办法。因为,怎么说那,在每一个的switch语句中,都有很长的代码,而且,每一个case中都需要自己的计算,得到当年2月之外的月份的天数的和,我个人是不认为这种做法是很好,很有效率的方式啦,可是,事实就是,我实在是想不出还有什么更好的方法,因为毕竟,各月份之间虽有一定的规律,可是,运算结果人口算就可以了,也不会有什么错误,如果用很复杂的语句,让计算机来就算天数的话,真的是怕适得其反,所以,还是为难一下个人,用人的智慧算出了除二月外的天数,也就决定了,用这样的算法。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string class 算法