1)复数类ComplexNumber的属性

m_dRealPart: 实部,代表复数的实数部分

m_dImaginPart: 虚部,代表复数的虚数部分

public class ComplexNumber {

	private double m_dRealPart;
private double m_dImaginPart;

2)复数类ComplexNumber的方法

ComplexNumber() 构造函数,将实部,虚部都置为0

ComplexNumber(double r, double I) 构造函数,创建复数对象的同时完成复数的实部,虚部的初始化

GetRealPart() 获取实部

GetImaginaryPart() 获取虚部

SetRealPart(double d) 设置实部

SetImaginaryPart(double d) 设置虚部

public ComplexNumber(){
double m_dRealPart = 0;
double m_dImaginPart = 0;
} public ComplexNumber(double r, double i) {
this.m_dRealPart = r;
this.m_dImaginPart = i;
} public double real() {
return this.m_dRealPart;
} public double imag() {
return this.m_dImaginPart;
}

ComplexAdd(ComplexNumber c) 复数相加

ComplexAdd(double c) 复数相加

ComplexMinus(ComplexNumber c) 复数相减

ComplexMinus(double c) 复数相减

ComplexMulti(ComplexNumber c)  复数相乘

ComplexMulti(double c)  复数相乘

public ComplexNumber complexAdd(ComplexNumber c) {
return new ComplexNumber(c.real() + this.real(), c.imag() + this.imag());
} public ComplexNumber complexMinus(ComplexNumber c) {
return new ComplexNumber(c.real() - this.real(), c.imag() - this.imag());
} public ComplexNumber complexMultiply(ComplexNumber c) {
return new ComplexNumber(
this.real() * c.real() - this.imag() * c.imag(),
this.imag() * c.real() + this.real() * c.imag());
} public ComplexNumber complexDivide(ComplexNumber c) {
double div2 = c.real() * c.real() + c.imag() * c.imag();
return new ComplexNumber(
(this.real() * c.real() + c.imag() * this.imag()) / div2,
(this.imag() * c.real() - this.real() * c.imag()) / div2);
}

toString() 把当前复数对象的实部,虚部组合成a+bi的字符串形式

public String toString() {
return "(" + this.real() + "+" + this.imag() +"i"+ ")";
} public static void main(String args[]) {
ComplexNumber cn = new ComplexNumber(1, 2);
System.out.println(cn);
cn = cn.complexMultiply(new ComplexNumber(6, 4));
System.out.println(cn);
}

实验体会:作为第二个java实验,我认为实验难度要明显高于实验一(从四则运算到复数的运算)。从一开始就遇到了很多困难,根本不知道该如何敲。后来有了方向,跟着步骤做了下来。虽然参考了百度中的代码,不过自己也有所学习。譬如说一开始我没有想到应用this,经过学习也巩固了this的实际用法。参考:http://zhidao.baidu.com/link?url=I2Odm3vMxnZJ9NhTxFygUSsmkxIOC-iT3B9PukPHJ4BWJQOUdTWD24Isrn8m5xhVUy9vI6JrHG95GQCZ_zkV0a

步骤 耗时 百分比

需求分析 30min 16.7%

设计 30min 16.7%

代码实现 1h 33%

测试 30min 16.7%

分析总结 30min 16.7%

20145106 java实验二的更多相关文章

  1. 20175212童皓桢 Java实验二-面向对象程序设计实验报告

    20175212童皓桢 Java实验二-面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设 ...

  2. Java实验二实验报告:java面向对象程序设计

    java实验二实验报告 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计模式 实验 ...

  3. Java实验二20135104

    课程:Java程序设计          班级: 1351 姓名:刘帅                学号:20135104 成绩:             指导教师:娄嘉鹏       实验日期:2 ...

  4. 20165326 java实验二

    2017-2018-2 20165326实验二<Java面向对象程序设计>实验报告 课程:Java程序设计 班级:1653班 姓名:陈卓 学号:20165326 成绩:指导教师:娄嘉鹏 实 ...

  5. java实验二——输出一个指定整数的所有质因数

    import java.util.Scanner; public class 实验二 { /** * @param args */ public static void main(String[] a ...

  6. 20145106 java实验一

    因为之前就使用过eclipse所以本次试验开始阶段并没有遇到什么大问题,按照步骤做下来. 我的实验序号根据算法是第二个四则运算的实验. 加法: package ljp; public class he ...

  7. 20145324 Java实验二

    实验1: 先建立.java 在建立test 测试正常情况 测试出错情况 错误 修改后的代码 正确 测试边界情况 100时出错 修改后的代码 测试 实验2: 先建test在写,java 实验3:建模 练 ...

  8. Java实验二

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计 班级:1351    姓名:黄君如  学号:20135117 成绩:             指导教师:娄 ...

  9. java实验二实验报告

    一.实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计模式 二.实验过程(本次试验都 ...

随机推荐

  1. HDU 1711 - Number Sequence - [KMP模板题]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 Time Limit: 10000/5000 MS (Java/Others) Memory L ...

  2. python3学习笔记(3)_dict-set

    # !/usr/bin/env python3 # -*- coding:utf8 -*- #dict 和 set #dict dictionary 用于存放 键值对的, 无序,key 不可变 #姓名 ...

  3. http://www.cnblogs.com/linxiyue/p/8244724.html

    http://www.cnblogs.com/linxiyue/p/8244724.html

  4. jquery表格展示

    用bootstrap设计一个弹框,然后在弹框里面生成表格 <html> <head> <link rel="stylesheet" href=&quo ...

  5. 爱上 SQLAlchemy 的 10 个理由(转)

    原文:http://python.jobbole.com/82453/ 本文由 伯乐在线 - Namco 翻译,唐尤华 校稿.未经许可,禁止转载!英文出处:Paul Johnston.欢迎加入翻译组. ...

  6. 十天精通CSS3(2)

    圆角效果 border-radius border-radius是向元素添加圆角边框. 使用方法: border-radius:10px; /* 所有角都使用半径为10px的圆角 */ border- ...

  7. 输出log到指定文件

    0:pom.xml中添加依赖 <!--log4j--> <!--有错误时,可能版本不对,或者依赖没有加全 'org.apache.logging.log4j:log4j-core:2 ...

  8. hdu1505City Game(扫描线)

    http://acm.hdu.edu.cn/showproblem.php?pid=1505 题意:R为被占位置,F为空位,求出最大子空矩阵大小*3. 思路:1.悬线法,记录每个位置的悬线能到达的左边 ...

  9. 更改docker服务网段分配地址

    docker安装完毕后,会自动生成一个网卡名为docker0的网桥,如果其默认分配的网段地址和已有地址段冲突,可按如下步骤修改. 查看默认地址段如下 docker0: flags=4099<UP ...

  10. linux命令:linux权限管理命令

    权限管理命令   文件的权限只有你两个人可以更改,一个是root,一个是文件所有者. 命令名称:chmod 命令英文原意:change the permissions mode of a  file ...