Java 创建一个复数类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

【样例说明】
输入和输出的格式要和指定格式严格匹配,否则不得分。

【评分标准】
结果完全正确得满分。

【备注】
从键盘读入double数据,可以用如下代码:
Scanner in = new Scanner(System.in);
double n = in.nextDouble();
使用Scanner类,需要导入import java.util.Scanner;

代码:

import java.util.Scanner;
	 
	public class Complex {
		double a;
		double b;
		Complex(double a,double b){
			this.a=a;
			this.b=b;
		}
		Complex(){
			
		}
		public static void main(String[] args) {
	        Scanner in = new Scanner(System.in);
			System.out.println("input c1:");
			Complex c1=new Complex(in.nextDouble(),in.nextDouble());
			System.out.println("input c2:");
			Complex c2=new Complex(in.nextDouble(),in.nextDouble());
	        System.out.println("ComplexNumber a: "+c1.a+" + "+c1.b+"i");
			System.out.println("ComplexNumber b: "+c2.a+" + "+c2.b+"i");
			System.out.println("(a + b) = "+(c1.a+c2.a)+" + "+(c1.b+c2.b)+"i");
			System.out.println("(a - b) = "+(c1.a-c2.a)+" + "+(c1.b-c2.b)+"i");
			System.out.println("(a * b) = "+(c1.a*c2.a-c1.b*c2.b)+" + "+(c1.a*c2.b+c1.b*c2.a)+"i");
			
	          }
	       
		}
在编程中,定义一个复数类`complex`通常是为了处理复数数学运算复数是由实部和虚部组成的数,通常表示为 a + bi 的形式,其中 a 是实部,b 是虚部,i 是虚数单位,满足 i² = -1。一个简单的复数类定义可能包含以下内容: ```java public class Complex { // 实部和虚部属性 private double real; private double imaginary; // 构造方法 public Complex(double real, double imaginary) { this.real = real; this.imaginary = imaginary; } // 实部获取方法 public double getReal() { return real; } // 虚部获取方法 public double getImaginary() { return imaginary; } // 复数加法 public Complex add(Complex other) { return new Complex(this.real + other.real, this.imaginary + other.imaginary); } // 复数减法 public Complex subtract(Complex other) { return new Complex(this.real - other.real, this.imaginary - other.imaginary); } // 复数乘法 public Complex multiply(Complex other) { double newReal = this.real * other.real - this.imaginary * other.imaginary; double newImaginary = this.real * other.imaginary + this.imaginary * other.real; return new Complex(newReal, newImaginary); } // 复数除法 public Complex divide(Complex other) { double denominator = other.real * other.real + other.imaginary * other.imaginary; double newReal = (this.real * other.real + this.imaginary * other.imaginary) / denominator; double newImaginary = (this.imaginary * other.real - this.real * other.imaginary) / denominator; return new Complex(newReal, newImaginary); } // 复数的字符串表示 @Override public String toString() { return "(" + real + " + " + imaginary + "i)"; } } ``` 这个类定义一个复数的结构和基本操作,包括加、减、乘、除运算以及复数的字符串表示方法。使用这个类可以创建复数对象,并执行基本的复数运算
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱犯错的小z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值