简单的复数运算(类和对象)

Problem Description

设计一个类Complex,用于封装对复数的下列操作:
成员变量:实部real,虚部image,均为整数变量;
构造方法:无参构造方法、有参构造方法(参数2个)
成员方法:含两个复数的加、减、乘操作。
复数相加举例: (1+2i)+(3+4i)= 4 + 6i
复数相减举例: (1+2i)-(3+4i)= -2 - 2i
复数相乘举例: (1+2i)*(3+4i)= -5 + 10i
要求:对复数进行连环运算。
Input

输入有多行。
第一行有两个整数,代表复数X的实部和虚部。
后续各行的第一个和第二个数表示复数Y的实部和虚部,第三个数表示操作符op: 1——复数X和Y相加;2——复数X和Y相减;3——复数X和Y相乘。
当输入0 0 0时,结束运算,输出结果。
Output

输出一行。
第一行有两个整数,代表复数的实部和虚部。
Sample Input

1 1
3 4 2
5 2 1
2 -1 3
0 2 2
0 0 0
Sample Output

5 -7

import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner reader=new Scanner(System.in);
		int a=reader.nextInt();
		int b=reader.nextInt();
			while(reader.hasNext())
			{
				int c=reader.nextInt();
			    int d=reader.nextInt();
			    int e=reader.nextInt();
				if(e==1)
				{
					a=a+c;
					b=b+d;
				}
				else  if(e==2)
				{
					a=a-c;
					b=b-d;
				}
				else if(e==3)
				{
					int x=a*c-b*d;
					int y=c*b+a*d;
					a=x;
					b=y;
				}
				else if(c==0&&d==0&&e==0)
				{
					System.out.println(a+" "+b);
					break;
				}
			}
		reader.close();
	}
}

在e 等于3的时候,如果不用x,y进行替代传出,将会是错的,即:a=ac-bd; b=cb+ad;原因后一个a在用前一个a的时候已经改变啦!!!

1. 编写一个类实现复数的运算。 复数类ComplexNumber的属性: m_dRealPart:实部,代表复数的实数部分。 m_dImaginPart:虚部,代表复数的虚数部分。 复数类ComplexNumber的方法: ComplexNumber():构造函数,将实部、虚部都置为0。 ComplexNumber(double r,double i):构造函数,创建复数对象的同时完成复数的实部、虚部的初始化,r为实部的初值,i为虚部的初值。 getRealPart():获得复数对象的实部。 getImaginPart():获得复数对象的虚部。 setRealPart(double d):把当前复数对象的实部设置为给定的形式参数的数字。 setImaginaryPart(double d):把当前复数对象的虚部设置为给定的形式参数的数字。 complexAdd(ComplexNumber c):当前复数对象与形式参数复数对象相加,所得的结果也是复数值,返回给此方法的调用者。 complexAdd(double c):当前复数对象与形式参数实数对象相加,所得的结果仍是复数值,返回给此方法的调用者。 complexMinus(ComplexNumber c) :当前复数对象与形式参数复数对象相减,所得的结果也是复数值,返回给此方法的调用者。 complexMinus(double c) :当前复数对象与形式参数实数对象相减,所得的结果仍是复数值,返回给此方法的调用者。 complexMulti(ComplexNumber c):当前复数对象与形式参数复数对象相乘,所得的结果也是复数值,返回给此方法的调用者。 complexMulti(double c):当前复数对象与形式参数实数对象相乘,所得的结果仍是复数值,返回给此方法的调用者。 toString():把当前复数对象的实部、虚部组合成a+bi的字符串形式,其中和分别为实部和虚部的数据。 2. 编写Java Application程序使用上题定义的类,检查类定义是否正确。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

奈何碎银没有几两

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

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

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

打赏作者

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

抵扣说明:

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

余额充值