因标题框有限,题目未显示完整,以下再放一份:
定义一个复数(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类;
以下是具体代码(将进行具体分析):
1 import java.util.Scanner; 2 class Complex{ 3 public int x; 4 public int y; 5 Complex(){ 6 x=0; 7 y=0; 8 } 9 Complex(int i,int j){ 10 x=i; 11 y=j; 12 } 13 public void showComp(){ //控制显示格式 14 if(y>=0) 15 System.out.println(x+"+"+y+"i"); 16 else 17 System.out.println(x+"-"+(-y)+"i"); 18 } 19 static Complex addComp(Complex C1,Complex C2){ //复数相加 注意:同上题,函数返回值类型是对象;对象作形参; 20 Complex C=new Complex(); 21 C.x=C1.x+C2.x; 22 C.y=C1.y+C2.y; 23 return C; 24 } 25 static Complex subComp(Complex C1,Complex C2){ //复数相减 26 Complex C=new Complex(); 27 C.x=C1.x-C2.x; 28 C.y=C1.y-C2.y; 29 return C; 30 } 31 static Complex multiComp(Complex C1,Complex C2){ //复数相乘 32 Complex C=new Complex(); 33 C.x=C1.x*C2.x; 34 C.y=C1.y*C2.y; 35 return C; 36 } 37 static boolean equalComp(Complex C1,Complex C2){ //判断复数是否相等 38 if(C1.x==C2.x&&C1.y==C2.y) 39 return true; 40 else 41 return false; 42 } 43 } 44 public class Test2_3{ 45 private static Scanner input; 46 public static void main(String args[]){ 47 input=new Scanner(System.in); 48 int i=input.nextInt(); //分别是两个复数的x,y值 49 int j=input.nextInt(); 50 int m=input.nextInt(); 51 int n=input.nextInt(); 52 53 Complex C; //新建一个对象的引用,用于接受函数的返回的对象 54 Complex C1=new Complex(i,j); 55 Complex C2=new Complex(m,n); 56 boolean b; //用于接受判断是否相等时返回的boolean值 57 58 C=Complex.addComp(C1,C2); 59 C.showComp(); 60 61 C=Complex.subComp(C1,C2); 62 C.showComp(); 63 64 C=Complex.multiComp(C1,C2); 65 C.showComp(); 66 67 b=Complex.equalComp(C1,C2); 68 if(b==true) 69 System.out.println("相等"); 70 else 71 System.out.println("不相等"); 72 } 73 }
时间: 2024-10-23 11:56:32