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类