java求复数四则运算,习题5.23(最终版)
2007-04-27 12:44
609 查看
习题5.23(最终版),经过对第五章-类的定义与使用的摸索, 对于复数的四则运算,已按题目要求正确编写程序,并运行得到正确结果。各位朋友可以参考,有更好的方法,请留言。
ComplexNumber.java
import java.io.*;
class ComplexNumber //定义ComplexNumber 类
{
double m_dRealPart; //定义实部
double m_dImaginPart; //定义虚部
public ComplexNumber(double r,double i) //构造函数,创建复数对象
{
this.m_dRealPart=r; //初始化实部
this.m_dImaginPart=i; //初始化虚部
}
public double getRealPart() //获得复数对象的实部
{ return m_dRealPart;}
public double getImaginPart() //获得复数对象的虚部
{ return m_dImaginPart;}
public void setRealPart(double d) //把当前复数对象的实部设置为给定的形式参数的数字
{m_dRealPart=d;}
public void setImaginaryPart(double d) //把当前复数对象的虚部设置为给定的形式参数的数字
{m_dImaginPart=d;}
ComplexNumber complexAdd(ComplexNumber c) //定义加法方法
{
ComplexNumber result=new ComplexNumber(m_dRealPart,m_dImaginPart) ;
result.setRealPart(this.m_dRealPart+c.m_dRealPart);
result.setImaginaryPart(this.m_dImaginPart+c.m_dImaginPart);
// 结果中:实部=实部+实部,虚部=虚部+虚部
return result; //返回给此方法的调用者
}
ComplexNumber complexMinus(ComplexNumber c) //定义减法方法
{
ComplexNumber result=new ComplexNumber(m_dRealPart,m_dImaginPart);
result.setRealPart(this.m_dRealPart-c.m_dRealPart);
result.setImaginaryPart(this.m_dImaginPart-c.m_dImaginPart);
// 结果中:实部=实部-实部,虚部=虚部-虚部
return result;
}
ComplexNumber complexMulti(ComplexNumber c) //定义乘法方法
{
ComplexNumber result=new ComplexNumber(m_dRealPart,m_dImaginPart);
result.setRealPart(c.m_dRealPart*getRealPart()-c.m_dImaginPart*getImaginPart());
//结果中:实部=实部×实部-虚部×虚部
result.setImaginaryPart(c.m_dRealPart*getImaginPart()+c.m_dImaginPart*getRealPart());
// 虚部=实部×虚部+实部×虚部
return result;
}
ComplexNumber complexDivide(ComplexNumber c) //定义除法方法
{
ComplexNumber conjugate = new ComplexNumber(m_dRealPart, -m_dImaginPart);
ComplexNumber multiplication = conjugate.complexMulti(c);
// 定义新方法,将复数实数化
multiplication.m_dRealPart /= this.m_dRealPart*this.m_dRealPart + this.m_dImaginPart * this.m_dImaginPart;
// 除法结果中的实部=被除数/( 除数中的实部平方+虚部平方 )
multiplication.m_dImaginPart /= this.m_dRealPart*this.m_dRealPart + this.m_dImaginPart * this.m_dImaginPart;
// 除法结果中的虚部=被除数/( 除数中的实部平方+虚部平方 )
return multiplication;
}
public String toString() // 显示结果
{
double a=m_dRealPart;
double b=m_dImaginPart;
return String.valueOf(a+"+"+b+"i"); //组合成a+bi的字符串形式
}
public static void main(String[]args) // 使用ComplexNumber 类
{
ComplexNumber M = new ComplexNumber(1.0,1.0);
ComplexNumber N = new ComplexNumber(1.0,1.0);
System.out.println("复数运算结果为:");
System.out.println((M.complexAdd(N)).toString()); // 加
System.out.println((M.complexMinus(N)).toString()); // 减
System.out.println((M.complexMulti(N)).toString()); // 乘
System.out.println((M.complexDivide(N)).toString()); // 除
}
}
ComplexNumber.java
import java.io.*;
class ComplexNumber //定义ComplexNumber 类
{
double m_dRealPart; //定义实部
double m_dImaginPart; //定义虚部
public ComplexNumber(double r,double i) //构造函数,创建复数对象
{
this.m_dRealPart=r; //初始化实部
this.m_dImaginPart=i; //初始化虚部
}
public double getRealPart() //获得复数对象的实部
{ return m_dRealPart;}
public double getImaginPart() //获得复数对象的虚部
{ return m_dImaginPart;}
public void setRealPart(double d) //把当前复数对象的实部设置为给定的形式参数的数字
{m_dRealPart=d;}
public void setImaginaryPart(double d) //把当前复数对象的虚部设置为给定的形式参数的数字
{m_dImaginPart=d;}
ComplexNumber complexAdd(ComplexNumber c) //定义加法方法
{
ComplexNumber result=new ComplexNumber(m_dRealPart,m_dImaginPart) ;
result.setRealPart(this.m_dRealPart+c.m_dRealPart);
result.setImaginaryPart(this.m_dImaginPart+c.m_dImaginPart);
// 结果中:实部=实部+实部,虚部=虚部+虚部
return result; //返回给此方法的调用者
}
ComplexNumber complexMinus(ComplexNumber c) //定义减法方法
{
ComplexNumber result=new ComplexNumber(m_dRealPart,m_dImaginPart);
result.setRealPart(this.m_dRealPart-c.m_dRealPart);
result.setImaginaryPart(this.m_dImaginPart-c.m_dImaginPart);
// 结果中:实部=实部-实部,虚部=虚部-虚部
return result;
}
ComplexNumber complexMulti(ComplexNumber c) //定义乘法方法
{
ComplexNumber result=new ComplexNumber(m_dRealPart,m_dImaginPart);
result.setRealPart(c.m_dRealPart*getRealPart()-c.m_dImaginPart*getImaginPart());
//结果中:实部=实部×实部-虚部×虚部
result.setImaginaryPart(c.m_dRealPart*getImaginPart()+c.m_dImaginPart*getRealPart());
// 虚部=实部×虚部+实部×虚部
return result;
}
ComplexNumber complexDivide(ComplexNumber c) //定义除法方法
{
ComplexNumber conjugate = new ComplexNumber(m_dRealPart, -m_dImaginPart);
ComplexNumber multiplication = conjugate.complexMulti(c);
// 定义新方法,将复数实数化
multiplication.m_dRealPart /= this.m_dRealPart*this.m_dRealPart + this.m_dImaginPart * this.m_dImaginPart;
// 除法结果中的实部=被除数/( 除数中的实部平方+虚部平方 )
multiplication.m_dImaginPart /= this.m_dRealPart*this.m_dRealPart + this.m_dImaginPart * this.m_dImaginPart;
// 除法结果中的虚部=被除数/( 除数中的实部平方+虚部平方 )
return multiplication;
}
public String toString() // 显示结果
{
double a=m_dRealPart;
double b=m_dImaginPart;
return String.valueOf(a+"+"+b+"i"); //组合成a+bi的字符串形式
}
public static void main(String[]args) // 使用ComplexNumber 类
{
ComplexNumber M = new ComplexNumber(1.0,1.0);
ComplexNumber N = new ComplexNumber(1.0,1.0);
System.out.println("复数运算结果为:");
System.out.println((M.complexAdd(N)).toString()); // 加
System.out.println((M.complexMinus(N)).toString()); // 减
System.out.println((M.complexMulti(N)).toString()); // 乘
System.out.println((M.complexDivide(N)).toString()); // 除
}
}
相关文章推荐
- java小练习(实现分数的四则运算)
- Java练习之复数运算
- 四则运算-栈方法 JAVA
- java 四则运算 栈的实现
- java四则运算生成器
- 复数的四则运算
- java实现简单的四则运算
- java上机第三周 任务3 分数的四则运算
- 6-17复数四则运算
- zzuli 1037 四则运算 JAVA
- java调用matlab实例(以四则运算为例)
- 栈的应用--四则运算表达式求值(java代码)
- 简单的四则运算答题系统(Java版)
- java实现四则运算,难点主要在理解加减乘除优先级以及使用递归
- Java有理数的四则运算
- Java 执行四则运算
- java中BigDecimal类的精确四则运算工具类Arith
- java 四则运算,并可完成 自定义函数 表达式 功能
- java 四则运算
- 用java实现计算String类型的四则运算——用栈和后缀表达式实现