Java课设报告--公倍数.docx
《Java课设报告--公倍数.docx》由会员分享,可在线阅读,更多相关《Java课设报告--公倍数.docx(11页珍藏版)》请在三一办公上搜索。
1、第1章课题概述11.1 课题的目的11.2 .1输出最小公倍数的要求11.2.2程序实现的功能要求1第2章概要设计22.1 整个程序的模块结构及流程22.2 数字存储所用的方法2第3章程序功能的实现33.1最小公倍数的计算方法33.2图形界面的实现3第4章调试及发现问题的解决7第5章程序测试及分析8第6章总结9参考文献10第1章课题概述本次课程设计的题目是输入一个数n,求出1到n这n个数的最小公倍数。1.1 课题的目的对于求公倍数,这是一个很久远的问题,而最开始的两个数求公倍数,到后面的N个数求公倍数,其实都是对数的运用。在生活中,人们一般多求于两个数的公倍数,而对于给定一个数,求出这个数到1
2、的最小公倍数并不多,主要是由于人们计算方法多为笔算,并且一次只能计算两个数的公倍数,不能求出多个数的公倍数,很不方便。而此次我设计的求公倍数的程序就是利用辗转相除法为基础,来计算给定一个数求出这个数到1的公倍数。并且计算时由于涉及的数已经有几十位了,不能采用基本数据类型,所以可以通过其他例如字符串来表示这些大整数。而通过计算机程序实现这个功能,比使用传统的笔算更具有实际意义更简介1.2 .1输出最小公倍数的要求(1)程序运行后弹出一个界面框,有一个文本框提示用户输入一个“正整数二当输入为非正整数事,输出的数字均为初始值“1”(2)输入成功后可以点确定或者直接回车键查看结果。(3)确定之后“公倍
3、数”旁边的文本框会直接显示出1到这个数的最小公倍数。1.2.2程序实现的功能要求(1)由于求公倍数,可能会涉及几十位的大整数,而通常所用的int型和long型的长度都不能满足大整数的存储,所以我采用字符串的形式来储存大整数。(2)用户输入的数必须为正整数,输入的非正数得到的结果为默认值1。第2章概要设计2.1 整个程序的模块结构及流程根据课题要求,整个程序按功能可划分为输入,确定,显示,退出四大模块。并且当输入不同的数字时只需要删除之前输入的数字,再重新输入需要的数字,就可了。程序各功能模块的划分,及主要流程如图2-1所示。图2-1整个程序各功能模块间的流程2.2 数字存储所用的方法当用户输入
4、一个正整数时,实际上储存的时候是用的字符串的形式储存,计算的时候,当用户输入的数字在计算过程中计算出的数字若是太大,就会超出基本数据类型的储存范围,从而使计算造成错误,所以就将其中涉及到的数字全都转换成字符串的类型进行储存和运算,从而将计算上和储存上造成的错误消失。第3章程序功能的实现3.1 最小公倍数的计算方法首先从第一个数和第二个数计算,求出这两个数的最小公倍数,之后有这个最小公倍数与第三个数计算,求出第二个最小公倍数,然后由第二个最小公倍数与第四个数计算求出第三个最小公倍数通过递归的思想,就能求出1到n这n个数的最小公倍数。publicstaticBiglntegergetCommon(
5、BigIntegerm,Biglntegern,inti)if(iA+1)return11;)BigIntegerM=m.multiply(n);求出In和n的乘积BigIntegerr=n.remainder(11D;求出n除以m的余数while(r.doubleValueO!=0)将余数r转换成double类型进行判断是否为0n=m:m=r;r=n.remainder(m);/n/mreturngetCommon,divide(m),newBigIntegerd+),i=i+1);publicvoidactionPerformed(ActionEvente)if(e.getSource()
6、=jbl)k-Integer.par57Z(jtf.getText();BigIntegerbi=newBigInteger(T);jtf2.seUexl(getCommon(bitbi,1).toString();)elseif(e.getSourceO=jb2)System,exitW);)3.2 图形界面的实现整个窗口运行时最先出现在整个桌面面板的最顶层。然后窗口实现的代码如下:privatestaticfinallongserialVersionUID-IL;JButtonjbl,jb2;JTextFieldjtf,jtf2;CommonOSUPer(公倍数);Containerc=t
7、his.getContentPaneO;setBounds(400,225,500,300);窗口在屏幕上的位置以及窗口的大小JPaneljpl=newJPanel0;jpl.SetLayout(newFlowLayout(FlowLayout.RIGHT,30t8);jbl=newJBUttOn(确定);jb2=newJBUtton(退出);jbl.addActionListener(this);jb2.addActionListener(this);jpl.add(jbl);jpl.add(jb2);JPaneljp2=newJPanel();jp2.SetLayout(newGridLa
8、yout(2,1);JPaneljp3=newJPanel();jp3.SetLayout(newFlowLayout(FlowLayout.CENTER,30,8);JPaneljp4=newJPanel();jp4.SetLayout(newFlowLayout(FlowLayout.CENTER,30,8);JLabeljll=newJLabel(数字;JLabeljl2=newJLabe1(公倍数:”);jtf=newJTextField(三);/jtf.addKeyListcner(newKeyAdapter()使用的是KeydaPter实现的回车出结果功能/ / / / /publ
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 报告 公倍数
链接地址:https://www.31ppt.com/p-6722205.html