您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 初中教育 > java课程设计规则几何图形求解课设报告
计算机与通信学院软件职业技术学院课程设计说明书规则几何图形问题求解作者:学号:专业:软件班级:指导教师:答辩时间:2012/6/22兰州理工大学课程设计2规则几何图形问题求解姓名学号兰州理工大学课程设计3目录一.课设任务及要求...................................4二.需求分析..........................................42.1要求...........................................42.2任务...........................................42.3开发工具.......................................5三.设计思路..........................................53.1系统类图和流程图...............................53.2查询类流程图...................................6四.详细设计..........................................94.1分析和设计.....................................9五.运行调试与分析讨论...............................38六.设计体会与小结...................................39七.参考文献.........................................40致谢..............................................40兰州理工大学课程设计4一.课设任务及要求任务:图形化界面(GUI)编程,编写一个规则几何问题求解程序要求:(1)根据所给参数绘制出图形。(2)根据条件计算几何图形的面积和周长。(3)程序至少实现圆、长方形和三角形等规则几何图形的求解。(4)几何图形的参数可变(如圆的半径、长方形的长和宽、三角形的边长、颜色和线条粗细等)。二.需求分析2.1要求(1)用JAVA语言实现程序设计;(2)利用结构体、共用体进行相关信息处理;(3)画出系统的各个类图模块;(4)画出查询类模块的流程图;(5)界面友好(良好的人机互交),程序要有注释。2.2任务(1)定义一个抽象类,三个抽象方法,在子类中覆写抽象方法;(2)通过args输入三个数:第一个数调用到圆类;第一、二个数调用到长方形类;三个数同时调用到三角形类,并在屏幕上显示计算结果;(3)画出部分模块的类图和流程图;(4)编写代码;(5)程序分析与调试。兰州理工大学课程设计52.3开发工具JAVA语言三.设计思路3.1系统类图和流程图父类Shape类图矩形Square类图圆Circle类流程图三角形Triangle类图Shape+PIdouble+check1()void+check2()void+check3()voidSquare+sumdouble+c1double+k1double+check1()void+check2()void+check3()voidCircl+sumdouble+lendouble+c1double+check1()void+check2()void+check3()voidTriangle+sumdouble+lendouble+c1double+k1double+t1double+check1()void+check2()void+check3()void兰州理工大学课程设计63.2查询类流程图(1)长方形类流程图开始定义double型变量面积sum,周长len,长c1,宽k1c10&&k10check1(c1,k1)sum=c1*k1len=2*(c1+k1)输出长方形面积sum和周长len长周长lencheck2()check3()结束兰州理工大学课程设计7(2)圆类流程图开始定义double型变量面积sum,周长len,半径c1c10check2(c1)sum=PI*c1*c1len=2*PI*c1)输出圆面积sum和周长lencheck1()check3()结束兰州理工大学课程设计8(3)三角形类流程图:开始定义double型变量面积sum,周长len,三边长c1,k1,t1c10&&k10&&t10check3(c1,k1,t1)len=c1+k1+t1sum=Math.sqrt((c1+k1+t1)/2*(c1+k1-t1)/2*(t1+c1-k1)/2*(k1+t1-c1)/2);输出三角形面积sum和周长len长周长lencheck2()check3()结束兰州理工大学课程设计9四.详细设计4.1分析和设计在程序的开头部分引入IO包,java.io.*;定义抽象类Shape,在其中声明三个抽象方法,check1()、check2()、check3()分别对矩形、圆、三角形实施处理。并定义一个全局常量PI=3.14利用类的继承性,将Shape类的抽象方法覆写。一:矩形类继承在矩形类Square中定义double型变量,长c1、宽k1、面积和周长len。第一步:覆写check1()方法,判断输入的长和宽是否为正数if(c10&&k10),当为正数时,则可以对该类进行面积和周长的计算:sum=c1*k1;len=2*(c1+k1);System.out.println(长方形面积:+sum+长方形周长:+len);如果不为正数输入没有意义,则输出提示语:System.out.println(----输入不正确,请输入正数----);第二步:覆写check2()、check3()方法,因为在矩形类中需处理的是求矩形的面积和周长的方法,所以这里覆写不考虑输出的具体内容voidcheck2(doublec1){//方法覆写兰州理工大学课程设计10System.out.println(---------);}voidcheck3(doublec1,doublek1,doublet1){//方法覆写System.out.println(---------);}二:圆类继承第一步:覆写方法check2(),定义半径c1、面积sum和周长len。判断半径是否大于零。若为正数就计算圆的面积和周长:通过调用上面定义的函数实现了计算器整个功能。sum=PI*c1*c1;len=2*c1*PI;System.out.println(长方形面积:+sum+长方形周长:+len);如果不为正数输入没有意义,则输出提示语:System.out.println(----输入不正确,请输入正数----);第二步:覆写check1()、check3()方法,因为在圆类中需处理的是求圆的面积和周长的方法,所以这里覆写不考虑输出的具体内容voidcheck1(doublec1,doublek1){//方法覆写System.out.println(--------);}voidcheck3(doublec1,doublek1,doublet1){//方法覆写System.out.println(---------);}兰州理工大学课程设计11三:三角形类继承第一步:覆写三角形的方法check3(),定义三边长分别为c1,k1,t1,面积sum和周长len。同样是判断输入的三边长是否为正数if((c10&&k10)&&t10){//判断是否为正数若为正数还要捕获异常判断是否构成三角形并调用Math类中的sqrt()方法计算面积,输出结果:try{if(c1+k1t1&&c1-k1t1){//判断是否构成三角形//调用Math类的sqrt()方法,利用海伦公式计算面积sum=Math.sqrt((c1+k1+t1)/2*(c1+k1-t1)/2*(t1+c1-k1)/2*(k1+t1-c1)/2);len=c1+k1+t1;}catch(Exceptione){e.printStackTrace();}finally{System.out.println(三角形面积:+sum+三角形周长:+len);}第二步:覆写方法check1()、check2(),同上在三角形类中不需考虑输出内容:voidcheck1(doublec1,doublek1){//方法覆写System.out.println(--------);}voidcheck2(doublec1){//方法覆写兰州理工大学课程设计12System.out.println(---------);}四、测试类Demo1在主方法main中,分别将矩形、圆、三角形实例化对象Squaresqu=newSquare();//实例化长方形对象Circlecir=newCircle();//实例化圆对象Triangletri=newTriangle();//实例化三角形对象通过args数组向程序中输入待测的数,先判断数组的长度是否为3,若不为3,提示输入错误:if(args.length!=3){System.out.println(---输入错误,请输入三个数----);}若输入正确,利用Double类的valueOf()方法将数组元素转换成double型,并赋给c,k,tdoublec=Double.valueOf(args[0]);//将字符串转换成double形doublek=Double.valueOf(args[1])//将字符串转换成double形doublet=Double.valueOf(args[2]);//将字符串转换成double形在通过对象调用方法,将程序结果显性化出来:System.out.println(----长方形----);System.out.println(长为:+c+宽为:+k);squ.check1(c,k);//长方形方法调用兰州理工大学课程设计13System.out.println(------圆------);System.out.println(半径为:+c);cir.check2(c);//圆方法调用System.out.println(----三角形----);System.out.println(边长1为:+c+边长2为:+k+边长3为:+t);tri.check3(c,k,t);//三角形方法调用4.2具体代码实现importjava.applet.*;importjava.awt.*;importjava.awt.event.*;importjava.util.*;importjavax.swing.*;importjava.awt.geom.*;importjava.io.*;classPointimplementsSerializable{intx,y;Colorcol;inttool;兰州理工大学课程设计14intboarder;Point(intx,inty,Colorcol,inttool,intboarder){this.x=x;this.y=y;this.col=col;this.tool=tool;this.boarder=boarder;}}classpaintboardextendsFrameimplementsActionListener,MouseMotionListener,MouseListener,ItemListener{intx=-1,y=-1;intcon=1;//画笔大小intEcon=5;//橡皮大小inttoolFlag=0;//toolFlag:工具标记//toolFlag工具对应表://(0--画笔);(1--橡皮);(2--清除);//(3--直线);(4--圆);(5--矩形);兰州理工大学课程设计15Colorc=newColor(0,0,0);//画笔颜色BasicStrokesize=ne
本文标题:java课程设计规则几何图形求解课设报告
链接地址:https://www.777doc.com/doc-3804147 .html