数据结构 复数的四则运算类

package newpackage;

import java.io.*;

public class ComplexNumber {

   public double Re;

   public double Im;

public void InitComplexnum()throws IOException

{

     InputStreamReader readRealPartNumber = new InputStreamReader(System.in);

     BufferedReader inputRealPartNumber = new BufferedReader(readRealPartNumber);

     System.out.println("请输入复数的实部:");

String strRealPartNumber = inputRealPartNumber.readLine();

double realPartNumber = Double.parseDouble(strRealPartNumber);

InputStreamReader readVirtualPartNumber = new InputStreamReader(System.in);

BufferedReader inputVirtualPartNumber = new BufferedReader(readVirtualPartNumber);

System.out.println("请输入复数的虚部:");

String strVirtualPartNumber = inputVirtualPartNumber.readLine();

double virtualPartNumber = Double.parseDouble(strVirtualPartNumber);

Re=realPartNumber;

Im=virtualPartNumber;

}//从键盘上输入并创建一个复数

 

 

public void printComplexnum()

{

     if(Re!=0)

     {

         if(Im==0)System.out.printf("%f\n",Re);

         else System.out.printf("%f+%fi\n",Re,Im);

     }

     else System.out.printf("%fi\n",Im);

}

}//在屏幕上打印复数 以上为复数类

class arithmetic

{

void PlusComplexnum(ComplexNumber c1,ComplexNumber c2,ComplexNumber he)

{

 

     he.Re=c1.Re+c2.Re;

     he.Im=c1.Im+c2.Im;

     System.out.println("复数的和");

     he.printComplexnum();

}//复数的加法

void MinusComplexnum(ComplexNumber c1,ComplexNumber c2,ComplexNumber cha)

{

     cha.Re=c1.Re-c2.Re;

     cha.Im=c1.Im-c2.Im;

     System.out.println("复数的差");

     cha.printComplexnum();

}//复数的减法

void MultiplicationComplexnum(ComplexNumber c1,ComplexNumber c2,ComplexNumber ji)

{

     ji.Re=c1.Re*c2.Re-c1.Im*c2.Im;

     ji.Im=c1.Im*c2.Re+c1.Re*c2.Im;

     System.out.println("复数的积");

     ji.printComplexnum();

}//复数的乘法

void ShangComplexnum(ComplexNumber c1,ComplexNumber c2,ComplexNumber shang)

{

    if(((c1).Re*(c1).Re+(c2).Re*(c2).Re)==0)System.out.println("您输入的除数为零!!!");

 else

 {

 

     (shang).Re=((c1).Re*(c2).Re+(c1).Im*(c2).Im)/((c1).Re*(c1).Re+(c2).Re*(c2).Re);

     (shang).Im=((c1).Re*(c2).Im-(c1).Im*(c2).Re)/((c1).Re*(c1).Re+(c2).Re*(c2).Re);

     System.out.println("复数的商");

     shang.printComplexnum();

 }//复数的除法

 

}

}//以上为实现复数四则运算的类

 

 

package newpackage;

import java.io.*;

 

public class Test {

    public static void main(String[] args)throws IOException

    {   ComplexNumber T=new ComplexNumber();

        ComplexNumber A=new ComplexNumber();

        ComplexNumber B=new ComplexNumber();

        A.InitComplexnum();B.InitComplexnum();

        A.printComplexnum();B.printComplexnum();

        arithmetic C=new arithmetic();

        C.MinusComplexnum(A,B,T);

        C.MultiplicationComplexnum(A,B,T);

        C.PlusComplexnum(A,B,T);

        C.ShangComplexnum(A,B,T); 

    }

 

}//通过测试在Netbeans上运行 主函数Test类

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

免费范文

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值