欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    Java课程设计--大整数运算.docx

    • 资源ID:777441       资源大小:89.55KB        全文页数:16页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java课程设计--大整数运算.docx

    第1章课题概述11.1 课题的目的11.2 课题的要求错误!未定义书签。第2章概要设计22.1整个程序的模块结构及流程22.2年历显示的结构及方法22. 2.1主体构思33. 2.2方法构思4第3章程序功能的实现53.1 主函数的实现53.2 主要功能模块的实现63. 2.1年份显示的实现63. 2.2月份显示的实现74. 2.3日期距今天天数的实现7第4章调试及发现问题的解决H4.1 调试中发现的问题114.2 问题的解决1错误!未定义书签。第5章程序测试125.1某年月份显示测试125.2某一月份显示测试135.3某一日期显示测试13第6章总结14参考文献15第1章课题概述本次课程设计的题目是年历显示。1.1课题的目的年历显示掌握java基本编程,熟悉常见的方法,结构。是在学习完课程后进行的一次全面的综合练习。本课程设计的目的和任务.巩固和加深学生对java语言课程的基本知识的理解和掌握.掌握java语言编程和程序调试的基本技能.利用java语言进行基本的软件设计,掌握书写程序设计说明文档的能力,提高运用java语言解决实际问题的能力.1. 2课题的要求年历显示要求做个简单的年历,输入不同格式的年月日会输出不同功能要求的结果,其功能大体有3个。1 .输入一个年份,输出是在屏幕上显示该年的日历。假定输入的年份在1940-2040年之间。2 .输入年月,输出该月的日历。3 .输入年月日,输出距今天还有多少天,星期几,是否是公历节日。通过显示年日历程序的设计,培养学生综合利用java语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力。通过本项课程设计,可以培养独立思考、综合运用所学有关相应知识的能力,能更好的巩固java语言程序设计课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力。第2章概要设计2.1整个程序的模块结构及流程依据课程设计的要求,需要设计一个菜单功能,进入程序后,有菜单可以提供选择,选择L进入年历显示阶段,年历显示完毕,再次进入菜单选择。选择2,进入月历显示阶段,月历显示完毕,再次进入菜单选择。选择3,进入日期查询阶段,日期查询完毕,再次进入菜单。选择0,退出程序。(图2-1整个程序各功能模块间的流程)2. 2年历显示的结构及方法2. 2.1主体构思先采用数组来实现年月的显示,因为1月,3月,5月,7月,8月,10月,12月都是有31天,而4月,6月,9月,11月都是30天。二月比较特殊,如果是闺年就29天,平年就29天。用数组方法:intmonthday12=31,28,31,30,31,30,31,31,30,31,30,31;charmonthname1220=,Janurayl'7'February2"z',March3","April4',z"May5",June6','July7",August8"z,September9,"October10"z"November!"/'December12;charweekname7(10=,Sun'7,Mon'7,Tue,7'Wed"z"Thu,7'Fri'7'Sat");可以实现输出每月的天数显示。本代码用的事SWitCh方法,这更容易理解。;switch(m)case1:case3:case5:case 7:case 8:case10:case12:return31;case4:case6:case9:case11:return30;case2:if(isLeapYear(year)return29;elsereturn28;)default:return0;)但代码数量较多。2.2.2方法构思所选月份天数的算法:用SWitCh语句实现。一三五七八十二月份为31天,四六九十一月份为30天对于二月份进行闰年与非闰年的讨论。先算出输入年份的第一天即firstDay,再根据firstDay计算出该输出多少空格,输出空格后依次输出天数到把改月天数全部输完。这样输出第一月,再循环增加月份到12月。这样输入某一年后将依次输出该年的12月每个月的日历。当输入某一年某一月时将特定地输出改月的日历,只输出改月的天数对应的日历。当输入年月日时,调用方法LocaIDateId=LocaIDate.now();将时间对象转换成字符串,再将字符串转换成毫秒,又调用方法算出现在时间的毫秒。用方法longdiff=datel.getTime()-date2.getTime();longdays=diff/(24*60*60*1000);算出距离今天的天数。再有switch方法判断是否为公历节日,若是则输出该节日。输出月份第一天为星期几的算法:使总天数除以7取余得几既为星期几,若是0则为星期日。3.算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。第3章程序功能的实现3.1主函数的实现importjava.text.DateFormat;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.time.LocalDate;importjava.time,format.DateTimeFormatter;importjava.util.Calendar;importjava.util.Date;importjava.util.GregorianCalendar;importjava.util.Scanner;publicclassastaticintyear,monthday;/得到各月份的天数publicstaticintmonthDay(intm)switch(m)case1:case3:case5:case7:case8:case10:case12:return31;case4:case6:case9:case11:return30;case2:if(iSLeapYear(year)return29;elsereturn28;)default:return0;)publicstaticbooleanisLeapYear(inty)/计算该年第一天是星期几(1年1月1日是星期一,计算y年到它的天数和7取余来算星期几return(y%4=O&&y%100!=O)(y%400=O);)publicstaticintfirstDay(inty)(longn=y*365;for(inti=1;i<y;i+)/计算y年到公元一年的年份中有多少个闰年,然后加1if(isLeapYear(i)(n+;)return(int)n%7;)publicstaticvoidmain(Stringargs)(intchoice;outer:while(true)SyStCln.out.println("请选择功能:”);System, out. PrintIr(“ ”);System, out. PrintIn("System, out. Println(" 是否是公历节口");L输入一个年份,输出是在屏幕上显示该年的日历。2 .输入年月,输出该月的日历。);3 .输入年月日,输出距今天还有多少天,星期几,Scannerscanner=newScanner(System,in);choice=scanner,nextlnt();System,out.println();3.2主要功能模块的实现3.2.1年份显示的实现switch(choice)case1:Scannersc=newScanner(SystemJn);SyStem.out.print("请输入年(yyyy)");Strings=sc.nextLine();year=Integenparselntfs);intfd=firstDay(year);System.out.println("n"+year+"年"+"n,"+,");for(intm=1;m<=12;m+)System.out.println("n"+m+”月”+”0*”+”*")System.out.println("0一二三四五六");for(inti=1;i<=fd;i+)System.out.print("");)monthday=monthDay(m);for(inti=1;i<=monthday;i+)if(i<10)System.out.print(i+"");elseSystem.out.print(i+"");)fd=(fd+1)%7;if(fd=0)System.out.println();)System.out.println();)break;3.2.2月份显示的实现case2:System.out.print("2s请输入年月(yyyy-mm)");Scannersc2=newScanner(System.in);Stringtemp=sc2.nextLine();DateFormatformat2=newSimpleDateFormat("yyyy-MM");tr(Datedate=format2.parse(temp);Calendarcalendar=newGregorianCaIendarO;calendar.setTime(date);intday=calendar.get(Calendar.DAE);calendar.set(Calendar.DATEz1);intmaxDate=calendar.getActualMaximum(Calendar.DAE);SyStem.out.println(temp+"月");SyStemoutprjtln(,1*),System.out.println("Ht一t二tt四t五t六");for(inti=1;i<calendar.get(Calendar.DAY_OF_WEEK);i+)System.out.print('t,);)for(inti=1;i<=maxDate;i+)System.out.print(i+"t");intw=calendar.get(Calendar.DAY_OF_WEEK);if(w=CaIendanSzvrURDAY)System.out.print('n');)calendar.add(Calendar.DATEz1);)catch(ParseExceptione)e.printStackTrace();)Sy

    注意事项

    本文(Java课程设计--大整数运算.docx)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开