栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java | PTA练习:复数类的定义

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java | PTA练习:复数类的定义

题目要求:

编写一个复数类,可以进行复数加法和减法运算。编写一个包含main方法的类测试该复数类。要求该复数类至少包含一个无参的构造方法和一个带参的构造方法;数据成员包括复数的实部和虚部,为double类型;包括两个方法,分别实现复数的加法和减法运算。测试代码如下:

    public static void main(String [] args){
            Complex a=new Complex();
            Complex b=new Complex();
            Scanner in=new Scanner(System.in);
            a.setRealPart(in.nextDouble());
            a.setImaginaryPart(in.nextDouble());
            b.setRealPart(in.nextDouble());
            b.setImaginaryPart(in.nextDouble());
            System.out.println(a);
            System.out.println(b);
            System.out.println(a.add(b));
            System.out.println(a.sub(b));      
}

输入格式:

输入两个复数。输入为两行,每一行为一个复数的实部和虚部,用空格隔开。

输出格式:

输出复数加法和减法结果。输出为4行,第一行和第二行输出两个复数,第三行为两个复数的加法运算结果,第四行为减法运算结果。

输入样例:

在这里给出两组输入。例如:

1 2
3 4
-1 2
1 2

输出样例:

在这里给出相应的输出。例如:

1.0+2.0i
3.0+4.0i
4.0+6.0i
-2.0-2.0i
-1.0+2.0i
1.0+2.0i
4.0i
-2.0
代码示例:
import java.util.*;

class Complex{
	private double shi;
	private double xu;
	public Complex() {
		
	}
	public Complex(double s,double x) {
		this.shi = s;
		this.xu = x;
	}
	
	public double getShi() {
		return shi;
	}
	public double getXu() {
		return xu;
	}
	public void setRealPart(double s) {
		this.shi = s;
	}
	public void setImaginaryPart(double x) {
		this.xu = x;
	}
	public Complex add(Complex a) {
		Complex complex = new Complex();
		complex.shi = this.shi+a.getShi();
		complex.xu = this.xu+a.getXu();
		return complex;
	}
	public Complex sub(Complex a) {
		Complex complex = new Complex();
		complex.shi = this.shi-a.getShi();
		complex.xu = this.xu-a.getXu();
		return complex;
	}
	@Override
	public String toString() {
		if(shi==0&&xu==0) {
			return 0+"";
		}
		if(shi==0) {
			return xu+"i";
		}
		if(xu>0) {
			return shi + "+" + xu + "i";
		}
		if(xu==0) {
			return shi+"";
		}
		return shi +""+ xu + "i";
	}
}

public class Main{
	public static void main(String [] args){
        Complex a=new Complex();
        Complex b=new Complex();
        Scanner in=new Scanner(System.in);
        a.setRealPart(in.nextDouble());
        a.setImaginaryPart(in.nextDouble());
        b.setRealPart(in.nextDouble());
        b.setImaginaryPart(in.nextDouble());
        System.out.println(a);
        System.out.println(b);
        System.out.println(a.add(b));
        System.out.println(a.sub(b));      
	}
}
注意要点:

1、add方法和sub方法要返回另外一个Complex对象,而不是return this。

2、注意toString函数的编写,要考虑虚部为负的情况和实部虚部各自为0或都为0的情况。

	public String toString() {
		if(shi==0&&xu==0) {
			return 0+"";
		}
		if(shi==0) {
			return xu+"i";
		}
		if(xu>0) {
			return shi + "+" + xu + "i";
		}
		if(xu==0) {
			return shi+"";
		}
		return shi +""+ xu + "i";
	}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/285596.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号