好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

Java实验报告三类和对象.doc

10页
  • 卖家[上传人]:大米
  • 文档编号:531389889
  • 上传时间:2024-01-22
  • 文档格式:DOC
  • 文档大小:237.01KB
  • / 10 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 计算机与信息学院实验报告系 软件系专业软件工程年级08级成绩姓名学号实验室T312 机号48实验时间2010年11月1日下午3、4节教师签字实验(三) 类和对象一、实验目的和要求1. 掌握类的构造函数的重载2. 深入理解类和对象3. 学习NetBeans中UML项目的创建类并生成相应代码的方法二、实验内容和原理设计一个复数类,能够完成复数之间的基本运算,重写方法toString(),使其能输出此复数(形式为: 实部 + 虚部i)要求设计的复数类必须有三个构造函数,分别为无参数、1个参数和2个参数的构造函数,完成的基本运算包括两个复数的加、减、乘、除法和共轭复数三、实验环境1. 硬件环境:2. 软件环境:JDK1.5四、算法描述及实验步骤1. 算法描述(可以用类图、流程图、伪代码或源程序描述)2. 实验步骤l 创建一个UML项目,并设计类Complex如下图l 创建一个Java应用项目l 把UML项目中的Complex自动生成代码到Java应用项目中l 实现Complex类中的方法l 进行编译l 进行测试,使用的测试用例:输入: 预期输出:…五、调试过程1. 编译过程记录算法实现中发现的语法错误及改正以下代码不能实现预期的结果:应该改成如下代码:2. 调试过程记录算法实现中发现的逻辑错误及改正,对每个测试用例,记录实际输出,并与预期输出进行比较,如果不同,分析产生错误的原因并改正。

      输入: 预期输出:实际输出:分析 与预期结果一致六、实验结果用与测试用例不同的输入数据运行算法,写出得到的结果,并分析结果是否正确第一组输入: 第二组输入: 第一组输出结果:第二组输出结果:结果分析:两组的输出结果都正确七、总结不应该一开始就考虑怎么编写代码,而是应该想好其框架注意语法上的错误,而逻辑上的错误在改正上有很大的难度,在这方面要多加交流附录:public class Complex { private double realPart; private double imaginaryPart; public Complex(){ realPart = Double.parseDouble(JOptionPane.showInputDialog("Please enter the realpart:")); imaginaryPart = Double.parseDouble(JOptionPane.showInputDialog("Please enter the imaginarypart:")); } public Complex(double realPart){ this.realPart = realPart; this.imaginaryPart = 0; } public Complex(double realPart,double imaginaryPart){ this.realPart = realPart; this.imaginaryPart = imaginaryPart; } public double getRealPart(){ return this.realPart; } public void setRealPart(double val){ realPart = val; } public double getimaginaryPart(){ return this.imaginaryPart; } public void setimaginaryPart(double val){ imaginaryPart = val; } public Complex plus(Complex complex){ Complex c = new Complex(realPart + complex.realPart, imaginaryPart + complex.imaginaryPart); return c; } public Complex minus(Complex complex){ Complex c = new Complex(realPart - complex.realPart, imaginaryPart - complex.imaginaryPart); return c; } public Complex times(Complex complex){ Complex c = new Complex(realPart * complex.realPart - imaginaryPart * complex.imaginaryPart, realPart * complex.imaginaryPart + imaginaryPart * complex.realPart); return c; } public Complex divideBy(Complex complex){ double t = complex.realPart * complex.realPart + complex.imaginaryPart * complex.imaginaryPart; Complex c = new Complex((realPart * complex.realPart + imaginaryPart * complex.imaginaryPart)/t ,(imaginaryPart * complex.realPart - realPart * complex.imaginaryPart) / t); return c; } public Complex conjugate(){ Complex c = new Complex(realPart,-imaginaryPart); return c; } public String toString(){ String str = ""; if(realPart != 0 && imaginaryPart > 0) return str+realPart+"+"+imaginaryPart+"i"+"\n"; if(realPart != 0 && imaginaryPart < 0) return str+realPart+imaginaryPart+"i"+"\n"; if(realPart == 0 && imaginaryPart != 0){ return str+imaginaryPart+"i"+"\n"; } if(realPart == 0 && imaginaryPart == 0){ } return str+realPart+"\n"; } public static void main(String[] args){ Complex c1 = new Complex(); Complex c2 = new Complex(); String output = "两个复数:\n"+c1+"\n"+c2+"\n"+"两个复数相加:\n"+c1.plus(c2)+ "两个复数相减:\n"+c1.minus(c2)+"两个复数相乘:\n"+c1.times(c2)+ "两个复数相除:\n"+c1.divideBy(c2)+"c1的共厄复数:\n"+ c1.conjugate()+"c2的共厄复数:\n"+c2.conjugate();JOptionPane.showMessageDialog(null,output); }}。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.