用java实现复数的加减乘除运算
来源:互联网 发布:淘宝数据插件 编辑:程序博客网 时间:2024/05/17 23:11
用java实现复数的加减乘除运算
1. 背景
老师在课上布置了几道java编程题,此为其中之一
2. 题目内容
设计一个类Complex,用于封装对复数的下列操作:
(1)一个带参数的构造函数,用于初始化复数成员
(2)一个不带参数的构造函数,调用代参数的构造函数完成对复数成员的初始化。
(3)实现两个复数的加法,减法的静态方法和实例方法。
(4)以复数的标准形式:x+iy 输出此复数
(5) 写两个函数,分别获得复数的实部getReal(),getImage()和虚部。
老师原题如上,自己做了两个复数的加减乘除运算,使用的是实例方法。如果要写静态方法,即类方法,要加static,再根据相应变化修改。区别是:实例方法既可调用实例变量和实例方法,又可调用类变量和类方法。类方法只可调用类变量和类方法。因时间关系,明天还有课,自己就暂且写了实例。
3. 具体代码与解释
package Four;/** * @author Kun Sun * @Date: 2013.10.15 */import java.util.Scanner;public class Complex { // 复数类double real; // 实部double image; // 虚部Complex(){ // 不带参数的构造方法Scanner input = new Scanner(System.in);double real = input.nextDouble();double image = input.nextDouble();Complex(real,image);}private void Complex(double real, double image) { // 供不带参数的构造方法调用// TODO Auto-generated method stubthis.real = real;this.image = image;}Complex(double real,double image){ // 带参数的构造方法this.real = real;this.image = image;}public double getReal() {return real;}public void setReal(double real) {this.real = real;}public double getImage() {return image;}public void setImage(double image) {this.image = image;}Complex add(Complex a){ // 复数相加double real2 = a.getReal();double image2 = a.getImage();double newReal = real + real2;double newImage = image + image2;Complex result = new Complex(newReal,newImage);return result;}Complex sub(Complex a){ // 复数相减double real2 = a.getReal();double image2 = a.getImage();double newReal = real - real2;double newImage = image - image2;Complex result = new Complex(newReal,newImage);return result;}Complex mul(Complex a){ // 复数相乘double real2 = a.getReal();double image2 = a.getImage();double newReal = real*real2 - image*image2;double newImage = image*real2 + real*image2;Complex result = new Complex(newReal,newImage);return result;}Complex div(Complex a){ // 复数相除double real2 = a.getReal();double image2 = a.getImage();double newReal = (real*real2 + image*image2)/(real2*real2 + image2*image2);double newImage = (image*real2 - real*image2)/(real2*real2 + image2*image2);Complex result = new Complex(newReal,newImage);return result;}public void print(){ // 输出if(image > 0){System.out.println(real + " + " + image + "i");}else if(image < 0){System.out.println(real + "" + image + "i");}else{System.out.println(real);}}}
package Four;/** * @author Kun Sun * @Date: 2013.10.15 */public class MainClass { // 用于测试复数类/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("请用户输入第一个复数的实部和虚部:"); Complex data1 = new Complex(); System.out.println("请用户输入第二个复数的实部和虚部:"); Complex data2 = new Complex(); // 以下分别为加减乘除 Complex result_add = data1.add(data2); Complex result_sub = data1.sub(data2); Complex result_mul = data1.mul(data2); Complex result_div = data1.div(data2); result_add.print(); result_sub.print(); result_mul.print(); result_div.print();}}
4. 测试运行结果截图
- 用java实现复数的加减乘除运算
- 函数重载实现复数运算的加减乘除
- 用java实现复数的加减乘除运算(改进第1次)
- Java 复数类 实现加减乘除
- 实现复数的加减乘除总结
- 复数的加减乘除及开方乘方运算
- 复数的加减乘除及开方乘方运算
- 复数类加减乘除的运算符重载
- 简单的运算符重载---复数加减乘除
- 用Java位运算实现加减乘除四则运算
- Java实现两个复数的加法运算
- 用类的成员函数,定义复数类重载运算符+、-、*、/,使之能用于复数的加减乘除
- 用位运算实现两个整数的加减乘除运算
- 用位运算实现两个整数的加减乘除运算
- 用位运算实现两个整数的加减乘除运算
- 用位运算实现整数的加减乘除运算
- 用位运算实现两个整数的加减乘除运算
- 用位运算实现两个整数的加减乘除运算
- 用java设计一个员工类,可以计算工资个人所得税
- 异步Socket接收数据后缓存处理问题
- 用java中继承和方法重写实现求最大公约数和最小公倍数
- HELP,多线程通过同一个socket发送数据到服务端,socket底动会不会同步呢?
- 2,socket循环接收数据:socket循环接收大数据,问:socket异步接收数据?
- 用java实现复数的加减乘除运算
- 开发管理 CheckLists系列文章
- cocos2d-x播放flash序列帧的粗浅实现
- Socket开发之通讯协议及处理
- WinDbg之Page Heap实践
- JeeCMS 2012 Maven构建+Eclipse完整开发版
- 一个简单的自定义通信协议(socket)
- JEECMS学习资料之一
- UVa150题O(∩_∩)O~