题目要求:
设计一个类Complex,用于封装对复数的下列操作:
1.一个带参数的构造函数,用于初始化复数成员2.一个不带参数的构造函数,调用代参数的构造函数完成对复数成员的初始化。
3. 实现两个复数的加法,减法的静态方法和实例方法。
4.以复数的标准形式:x+iy 输出此复数
5. 写两个函数,分别获得复数的实部getReal(),getImage()和虚部。
package Plural;
//复数类
public class Plural {
//定义私有的实部/虚部成员
private double real;
private double imag;
//无参的构造方法
Plural(){
}
//带参的构造方法
Plural(double r,double i){
real=r;
imag=i;
}
//复数相加的方法
public void pulAdd(Plural a,Plural b){
real=a.real+b.real;
imag=a.imag+b.imag;
}
//复数相减的方法
public void pulMul(Plural a,Plural b){
real=a.real-b.real;
imag=a.imag-b.imag;
}
double getReal(){
return real;
}
double getImag(){
return imag;
}
//按一般形式输出复数
public void show(){
System.out.print(real);
if(imag>0)
System.out.print("+");
if(imag!=0)
System.out.print(imag+"i\n");
}
}
package Plural;
//复数的测试类
import java.util.Scanner;
public class Text {
/**
* @author HuangRong
* @date 2013/10/18
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
System.out.println("请输入第一个数的实部:");
double real1=input.nextDouble();
System.out.println("请输入第一个数的虚部:");
double imag1=input.nextDouble();
System.out.println("请输入第二个数的实部:");
double real2=input.nextDouble();
System.out.println("请输入第二个数的虚部:");
double imag2=input.nextDouble();
Plural plu1=new Plural(real1,imag1);
Plural plu2=new Plural(real2,imag2);
Plural plu3=new Plural();
plu1.show();
plu2.show();
plu3.pulAdd(plu1,plu2);
System.out.println("两复数相加结果为:");
plu3.show();
plu3.pulMul(plu1,plu2);
System.out.println("两复数相减结果为:");
plu3.show();
}
}