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

导读:本篇文章讲解 Java | PTA练习:复数类的定义,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

题目要求:

编写一个复数类,可以进行复数加法和减法运算。编写一个包含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";
	}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/103205.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!