20145106 java实验二
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实验二的更多相关文章
- 20175212童皓桢 Java实验二-面向对象程序设计实验报告
20175212童皓桢 Java实验二-面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设 ...
- Java实验二实验报告:java面向对象程序设计
java实验二实验报告 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计模式 实验 ...
- Java实验二20135104
课程:Java程序设计 班级: 1351 姓名:刘帅 学号:20135104 成绩: 指导教师:娄嘉鹏 实验日期:2 ...
- 20165326 java实验二
2017-2018-2 20165326实验二<Java面向对象程序设计>实验报告 课程:Java程序设计 班级:1653班 姓名:陈卓 学号:20165326 成绩:指导教师:娄嘉鹏 实 ...
- java实验二——输出一个指定整数的所有质因数
import java.util.Scanner; public class 实验二 { /** * @param args */ public static void main(String[] a ...
- 20145106 java实验一
因为之前就使用过eclipse所以本次试验开始阶段并没有遇到什么大问题,按照步骤做下来. 我的实验序号根据算法是第二个四则运算的实验. 加法: package ljp; public class he ...
- 20145324 Java实验二
实验1: 先建立.java 在建立test 测试正常情况 测试出错情况 错误 修改后的代码 正确 测试边界情况 100时出错 修改后的代码 测试 实验2: 先建test在写,java 实验3:建模 练 ...
- Java实验二
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1351 姓名:黄君如 学号:20135117 成绩: 指导教师:娄 ...
- java实验二实验报告
一.实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计模式 二.实验过程(本次试验都 ...
随机推荐
- CSU 1808 - 地铁 - [最短路变形]
题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1808 Time limit: 5000 ms Memory limit: 13107 ...
- 【紫书】 Unix ls UVA - 400 模拟
题意:中文版https://vjudge.net/problem/UVA-400#author=Zsc1615925460 题解:首先读取字符,维护一个最长字符串长度M,再排序. 对于输出,写一个pr ...
- 数据结构——栈(C语言实现)
#include <stdio.h> #include <stdlib.h> #include<string.h> #include<malloc.h> ...
- 洛谷P4344 脑洞治疗仪 [SHOI2015] 线段树+二分答案/分块
!!!一道巨恶心的数据结构题,做完当场爆炸:) 首先,如果你用位运算的时候不小心<<打成>>了,你就可以像我一样陷入疯狂的死循环改半个小时 然后,如果你改出来之后忘记把陷入死循 ...
- ConcurrentLinkedQueue
我们要实现一个线程安全的队列有两种实现方式,阻塞算法.非阻塞算法.使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁) 或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞的实现方式则可以使用循环 ...
- Spark性能优化(二)
资源调优 调优概述 在开发完Spark作业之后,就该为作业配置合适的资源了.Spark的资源参数,基本都可以在spark-submit命令中作为参数设置.很多Spark初学者,通常不知道该设置哪些必要 ...
- [dt]世纪历史长河年代表
年代口诀 夏商与西周, 东周分两段, 春秋和战国, 一统秦两汉, 三分魏蜀吴, 二晋前后延, 南北朝并列, 隋唐五代传, 宋元明清后, 皇朝至此完. 中国历史长河年代表 参考: 中国历史朝代顺序表.年 ...
- error.jsp错误页面跳转,统一异常处理
常见web项目中会用倒计时然后跳转页面来处理异常 error.jsp关键代码: <script language="javascript" type="text/j ...
- QC质量管理七大手法
1.层别法 层别法就是将大量有关某一特定主题的观点.意见或想法按组分类,将收集到的大量的数据或资料按相互关系进行分组,加以层别.层别法一般和柏拉图.直方图等其它七大手法结合使用,也可单独使用. 2.查 ...
- [LeetCode] 724. Find Pivot Index_Easy tag: Dynamic Programming
Given an array of integers nums, write a method that returns the "pivot" index of this arr ...