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. 了解设计模式 二.实验过程(本次试验都 ...
随机推荐
- android Instrumentation 转载
Android提供了一系列强大的测试工具,它针对Android的环境,扩展了业内标准的JUnit测试框架.尽管你可以使用JUnit测试Android工程,但Android工具允许你为应用程序的各个 ...
- 【mlflow】执行import mlflow 报错:ImportError: No module named 'pkg_resources'
命令行运行 python -c “import mlflow” 的时候报错: ImportError: No module named 'pkg_resources' 结果发现是因为本地有一个文件夹叫 ...
- 迷宫问题---poj3984(bfs,输出路径问题)
题目链接 主要就是输出路径问题: pre[x][y]表示到达(x,y)是由点(pre[x][y].x, pre[x][y].y)而来: #include<stdio.h> #includ ...
- 2015 湘潭大学程序设计比赛(Internet)--D题-最小的数
最小的数 Accepted : 47 Submit : 276 Time Limit : 1000 MS Memory Limit : 65536 KB 题目描述 给你一个n位数,每次操作可以 ...
- li设置float后ul无法包裹li问题解决
解决办法:灰常简单,只需给ul添加样式 ul{ overflow: auto; } 即可
- mysql 连接查询 join
本文用到的表 CREATE TABLE `cls` ( `cls_id` ) NOT NULL AUTO_INCREMENT, `name` ) NOT NULL, PRIMARY KEY (`cls ...
- Windows下pycharm使用theano的方法
安装theano前需要自行安装Anaconda和PyCharm.在网上查了在PyCharm上安装theano的方法,但是均遇到了一些问题,现将问题与解决方案介绍如下. (一)第一种安装方式 打开cmd ...
- MySQL中MyISAM与InnoDB区别及选择,mysql添加外键
InnoDB:支持事务处理等不加锁读取支持外键支持行锁不支持FULLTEXT类型的索引不保存表的具体行数,扫描表来计算有多少行DELETE 表时,是一行一行的删除InnoDB 把数据和索引存放在表空间 ...
- windows7触屏编程
每当用户触摸触敏式 Windows 7 设备时,Windows 7 多点触控平台都会向您的应用程序发送手势消息 WM_GESTURE.这是现成的免费行为,如果您希望停止接收此类消息,则需要选择退出. ...
- python图片处理(一)
python图片处理需要先在cmd里面安装Pillow pip install Pillow 一.图片的打开与显示 from PIL import Image img=Image.open('d:/d ...