练习-Java类和对象之类的声明之复数运算

本文介绍了一个简单的Java程序,用于实现两个复数的加法运算。通过定义复数类Complex并实现add方法来完成实部与虚部的相加,并根据不同情况返回相应的结果。

任务描述
本关任务:求两个复数相加后的结果。

两个复数之间相加的运算法则:实部与实部相加,虚部与虚部相加。

关于复数的定义,可以自行查阅,本实训不做讲解。

编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。

测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
可在右侧“测试结果”区查看具体的测试集详情。

开始你的任务吧,祝你成功!

javac TestMain.java
java TestMain
/**
 * 任务:求两个复数相加后的结果。
 */
// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
/********** Begin **********/
// 定义一个圆类,类名为 Complex
class Complex{
    // 定义四个变量:real1、image1、real2、image2 分别表示第一个虚数的实部与虚部和第二个虚数的实部与虚部,类型为int
    int real1,image1,real2,image2;

    // 定义一个成员方法,方法名为add,不带参数,实现两个复数相加,将实部结果与虚部结果用+拼接后返回,返回类型为String,
    public String add(){
        int real = real1 + real2;
        int image = image1 + image2;
        if (real != 0 & image != 0){
            return real + "+" + image + "i";
        }else if (real != 0 && image == 0){
            return Integer.toString(real);
        }else if(real == 0 & image != 0){
            return image + "i";
        }else
            return Integer.toString(0);
    }

}
    // 相加后结果如果有虚部,将计算结果的虚部后加上i
    // 如果没有虚部,只返回实部即可。
    // 如果没有实部,只返回虚部,将计算结果的虚部后加上i
    // 如果都没有值,返回零。

public class TestMain {
    public static void main(String[] args) {
        Complex c = new Complex();
        c.real1 = 10;
        c.image1 = 5;
        c.real2 = 18;
        c.image2 = 32;
        Complex c1 = new Complex();
        c1.real1 = 10;
        c1.image1 = 7;
        c1.real2 = -10;
        c1.image2 = 6;
        Complex c2 = new Complex();
        c2.real1 = 125;
        c2.image1 = -8;
        c2.real2 = 1;
        c2.image2 = 8;
        Complex c3 = new Complex();
        c3.real1 = 21;
        c3.image1 = 6;
        c3.real2 = -21;
        c3.image2 = -6;
        System.out.println("10+5i+18+32i的结果为:"+c.add());
        System.out.println("10+7i+(-10)+6i的结果为:"+c1.add());
        System.out.println("125+(-8i)+1+8i的结果为:"+c2.add());
        System.out.print("21+6i+(-21)+(-6i)的结果为:"+c3.add());

    }

}

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程序使用上题定义的,检查定义是否正确。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值