设计一个类Complex,用于封装对复数的下列操作:
1.一个带参数的构造函数,用于初始化复数成员
2.一个不带参数的构造函数,调用代参数的构造函数完成对复数成员的初始化。
3. 实现两个复数的加法,减法的静态方法和实例方法。
4.以复数的标准形式:x+iy 输出此复数
5. 写两个函数,分别获得复数的实部getReal(),getImage()和虚部。
代码:
/**
* @ClassName: Complex
* @Description: 封装对复数的操作
* @author 楚雅枫
* @date 2013-10-17 下午8:12:53
*
*/
public class Complex {
int real;// 实部
int image;// 虚部
// 带参构造函数
Complex(int real, int imag) {
this.real = real;
this.image = imag;
}
// 不带参构造函数
Complex() {
this(1, 1);
}
// 获得复数的实部
int getReal() {
return real;
}
// 获得复数的虚部
int getImage() {
return image;
}
// 设置复数的实部
void setReal(int real) {
this.real = real;
}
// 设置复数的虚部
void setImage(int image) {
this.image = image;
}
// 以复数的标准形式:x+yi 输出此复数
void print() {
if (image >= 0) {
System.out.println(real + "+" + image + "i");
} else {
int ima = -image;
System.out.println(real + "-" + ima + "i");
}
}
// 实例方法 加法
Complex add(Complex com) {
int reala = com.getReal();
int imagea = com.getImage();
int newreal = real + reala;
int newimage = image + imagea;
Complex result = new Complex(newreal, newimage);
return result;
}
// 实例方法 减法
Complex sub(Complex com) {
int reala = com.getReal();
int imagea = com.getImage();
int newreal = real - reala;
int newimage = image - imagea;
Complex result = new Complex(newreal, newimage);
return result;
}
//实例方法 加法
public static Complex sta_add(Complex coma,Complex comb){
Complex result = coma.add(comb);
return result;
}
//实例方法 减法
public static Complex sta_sub(Complex coma,Complex comb){
Complex result = coma.sub(comb);
return result;
}
}
测试类:
/** * @ClassName: MainClass * @Description: 测试类 * @author 楚雅枫 * @date 2013-10-17 下午9:10:04 * */ public class MainClass { /** * @Title: main * @Description: 测试 * @param @param args 设定文件 * @return void 返回类型 * @throws */ public static void main(String[] args) { // TODO Auto-generated method stub Complex complexa = new Complex(2,3); Complex complexb = new Complex(); Complex resulta = complexa.add(complexb); Complex resultb = Complex.sta_sub(complexa, complexb); resulta.print(); resultb.print(); } }