创建一个复数类Complex,对复数进行数学运算
参考,误抄袭 问题描述: 创建一个复数类Complex,对复数进行数学运算,复数具有如下格式:realPart+imaginaryPart*i,其中,i为-1的平方根,具体要求如下: (1)利用浮点变量表示此类的私有数据。提供两个构造方法,一个用于此类声明时对象的初始化;一个为带默认值得无参构造方法。 (2)提供两复数加、减、乘的运算方法。 (3)按格式(a,b)打印复数,其中a为实部,b为虚部。 【输入形式】 输入两个复数的实部和虚部,构造两个复数对象 【输出形式】 输出两个复数的相加、相减、相乘的结果 【样例输入】 input c1: 1 2 input c2: 3 4 【样例输出】 ComplexNumber a: 1.0 + 2.0i ComplexNumber b: 3.0 + 4.0i (a + b) = 4.0 + 6.0i (a - b) = -2.0 + -2.0i (a * b) = -5.0 + 10.0i
package Demo; import java.util.Scanner; public class Demo20 { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("input c1:"); double real1 = in.nextDouble(); double image1 = in.nextDouble(); System.out.println("input c2:"); double real2 = in.nextDouble(); double image2 = in.nextDouble(); Complex s1 = new Complex();//新建Complex对象 Complex s2 = new Complex(); s1.realPart = real1;//对无参构造进行赋值 s1.imaginaryPart = image1; s2.realPart = real2; s2.imaginaryPart = image2; System.out.println("ComplexNumber a: "+s1.realPart+" + "+s1.imaginaryPart+"i"); System.out.println("ComplexNumber b: "+s2.realPart+" + "+s2.imaginaryPart+"i"); add(s1,s2); delete(s1,s2); mult(s1,s2); in.close(); } static class Complex{ //无参构造,用于存储real和image值 double realPart; double imaginaryPart; } public static void add(Complex s1,Complex s2){ //加法函数 System.out.println("(a + b) = "+(s1.realPart+s2.realPart)+" + "+(s1.imaginaryPart+s2.imaginaryPart)+"i"); } public static void delete(Complex s1,Complex s2){ //减法函数 System.out.println("(a - b) = "+(s1.realPart-s2.realPart)+" + "+(s1.imaginaryPart-s2.imaginaryPart)+"i"); } public static void mult(Complex s1,Complex s2){ //乘法函数 double real; double image; double temp;//由于i*i会变换符号,这里用于记录i*i real = s1.realPart*s2.realPart; image = s1.realPart*s2.imaginaryPart+s1.imaginaryPart*s2.realPart; if (s1.imaginaryPart>0&&s2.imaginaryPart>0||s1.imaginaryPart<0&&s2.imaginaryPart<0){ //对i*i进行正负判断 temp = -(s1.imaginaryPart*s2.imaginaryPart); }else { temp = (s1.imaginaryPart*s2.imaginaryPart); } real = real+temp;//最后的real部分值 System.out.println("(a * b) = "+real+" + "+image+"i"); } }
上一篇:
IDEA上Java项目控制台中文乱码