因标题框有限,题目未显示完整,以下再放一份:
定义一个复数(z=x+iy)类Complex,包含:
两个属性:实部x和虚部y
默认构造函数 Complex(),设置x=0,y=0
构造函数:Complex(int i,int j)
显示复数的方法:showComp()将其显示为如: 5+8i或5-8i 的形式。
求两个复数的和的方法:(参数是两个复数类对象,返回值是复数类对象)public Complex addComp(Complex C1,Complex C2)
求两个复数的差的方法:(参数是两个复数类对象,返回值是复数类对象)public Complex subComp(Complex C1,Complex C2)
求两个复数的乘积的方法:(参数是两个复数类对象,返回值是复数类对象,新复数实部=两复数实部乘积-两复数虚部乘积,新复数虚部=两复数实部与虚部交叉乘积之和,)public Complex multiComp(Complex C1,Complex C2)
比较两个复数是否相等的方法(参数是两个复数类对象,返回值是boolean类型)public boolean equalComp(Complex C1,Complex C2)
在Application中测试该类的方法,实部x和虚部y可由main方法参数提供输入。
与上题如出一辙.
用到:1.对象作形参;2.Scanner类;
以下是具体代码(将进行具体分析):
import java.util.Scanner;
class Complex{
public int x;
public int y;
Complex(){
x=0;
y=0;
}
Complex(int i,int j){
x=i;
y=j;
}
public void showComp(){ //控制显示格式
if(y>=0)
System.out.println(x+"+"+y+"i");
else
System.out.println(x+"-"+(-y)+"i");
}
static Complex addComp(Complex C1,Complex C2){ //复数相加 注意:同上题,函数返回值类型是对象;对象作形参;
Complex C=new Complex();
C.x=C1.x+C2.x;
C.y=C1.y+C2.y;
return C;
}
static Complex subComp(Complex C1,Complex C2){ //复数相减
Complex C=new Complex();
C.x=C1.x-C2.x;
C.y=C1.y-C2.y;
return C;
}
static Complex multiComp(Complex C1,Complex C2){ //复数相乘
Complex C=new Complex();
C.x=C1.x*C2.x;
C.y=C1.y*C2.y;
return C;
}
static boolean equalComp(Complex C1,Complex C2){ //判断复数是否相等
if(C1.x==C2.x&&C1.y==C2.y)
return true;
else
return false;
}
}
public class Test2_3{
private static Scanner input;
public static void main(String args[]){
input=new Scanner(System.in);
int i=input.nextInt(); //分别是两个复数的x,y值
int j=input.nextInt();
int m=input.nextInt();
int n=input.nextInt(); Complex C; //新建一个对象的引用,用于接受函数的返回的对象
Complex C1=new Complex(i,j);
Complex C2=new Complex(m,n);
boolean b; //用于接受判断是否相等时返回的boolean值 C=Complex.addComp(C1,C2);
C.showComp(); C=Complex.subComp(C1,C2);
C.showComp(); C=Complex.multiComp(C1,C2);
C.showComp(); b=Complex.equalComp(C1,C2);
if(b==true)
System.out.println("相等");
else
System.out.println("不相等");
}
}