计算机技术课实验报告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月共有多少天)
实验代码:
实验结果:
实验心得:
看起来的确是好复杂啊。说实话,真的是不知道对于这道题目,我的这种做法,是不是很好的解决办法。因为,怎么说那,在每一个的switch语句中,都有很长的代码,而且,每一个case中都需要自己的计算,得到当年2月之外的月份的天数的和,我个人是不认为这种做法是很好,很有效率的方式啦,可是,事实就是,我实在是想不出还有什么更好的方法,因为毕竟,各月份之间虽有一定的规律,可是,运算结果人口算就可以了,也不会有什么错误,如果用很复杂的语句,让计算机来就算天数的话,真的是怕适得其反,所以,还是为难一下个人,用人的智慧算出了除二月外的天数,也就决定了,用这样的算法。
从键盘上输入一个年份,并输入一个月份,计算从当前年份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月之外的月份的天数的和,我个人是不认为这种做法是很好,很有效率的方式啦,可是,事实就是,我实在是想不出还有什么更好的方法,因为毕竟,各月份之间虽有一定的规律,可是,运算结果人口算就可以了,也不会有什么错误,如果用很复杂的语句,让计算机来就算天数的话,真的是怕适得其反,所以,还是为难一下个人,用人的智慧算出了除二月外的天数,也就决定了,用这样的算法。
相关文章推荐
- 计算机技术课实验报告(1)
- 计算机技术课实验报告(2)
- 计算机技术课实验报告(3)
- 计算机技术课实验报告(4)
- 计算机技术课实验报告8
- 计算机技术课实验报告(5)
- 计算机技术课实验报告11
- 计算机技术课实验报告(6)
- 计算机技术课实验报告12
- 计算机技术课实验报告9
- 计算机技术课实验报告10
- 计算机技术课实验报告13
- 《第七周实验报告3-1》---通过模板类的技术手段,设计Complex,使实部和虚部的类型为定义对象时用的实际类型
- 计算机视觉这一年:2017CV技术报告(一)
- 计算机视觉这一年:这是最全的一份CV技术报告
- 山东大学软件测试技术实验三报告
- 计算机网络原理实验报告(一)
- 【计算机动画】实验 路径曲线与运动物体控制 报告
- “Linux内核分析”实验报告(一)分析汇编代码理解计算机是如何工作的
- 计算机组成原理 - 实验报告