第11周-数学方面:Complex类

问题及代码:

/*
*Copyright (c)2015,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:Complex.java
*作    者:单昕昕
*完成日期:2015年11月15日
*版 本 号:v1.0
*问题描述:Octagon八边形。
*程序输入:边长。
*程序输出:面积和周长。
*/
import java.util.Scanner;

class Complex//Complex类
{
    private double real;
    private double imag;
    private double val;
    public Complex()//初始化
    {
        this.real=0;
        this.imag=0;
    }
    public Complex(double a)
    {
        this.real=a;
        this.imag=0;
    }
    public Complex(double a,double b)
    {
        this.real=a;
        this.imag=b;
    }
    public double getRealPart()//实部
    {
        return real;
    }
    public double getImagPart()//虚部
    {
        return imag;
    }
    public void add(Complex c1,Complex c2)//加法
    {
        this.real=c1.real+c2.real;
        this.imag=c1.imag+c2.imag;
    }
    public void substract(Complex c1,Complex c2)//减法
    {
        this.real=c1.real-c2.real;
        this.imag=c1.imag-c2.imag;
    }
    public void multiply(Complex c1,Complex c2)//乘法
    {
        this.real=(c1.real*c2.real)-(c1.imag*c2.imag);
        this.imag=(c2.real*c1.imag)+(c1.real*c2.imag);
    }
    public void divide(Complex c1,Complex c2)//除法
    {
        this.real=(c1.real*c2.real+c1.imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);
        this.imag=(c2.real*c1.imag-c1.real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);
    }
    public double abs(Complex c)//复数的绝对值
    {
    	double abs=Math.sqrt(c.real*c.real+c.imag*c.imag);
    	return abs;
    }
}

public class Test
{
    public static void main(String args[])
    {
    	Scanner input=new Scanner(System.in);  //输入测试数据
        System.out.print("Please enter the first complex number:");    
        double a =input.nextDouble();
        double b =input.nextDouble();
        System.out.print("Please enter the second complex number:");    
        double c =input.nextDouble();
        double d =input.nextDouble();
        Complex c1=new Complex(a,b);//构建复数
    	Complex c2=new Complex(c,d);
    	//System.out.println(c1.getRealPart()+"+"+c1.getImagPart()+"i");
    	//System.out.println(c2.getRealPart()+"+"+c2.getImagPart()+"i");
    	Complex cc=new Complex();
    	cc.add(c1,c2);//运算
    	//System.out.println(cc.getRealPart()+"+"+cc.getImagPart()+"i");
    	 System.out.println(a+" + "+b+" i + "+c+" + "+d+" i = "+cc.getRealPart()+" + 

"+cc.getImagPart()+" i");
    	 cc.substract(c1,c2);
    	 System.out.println(a+" + "+b+" i - "+c+" + "+d+" i = "+cc.getRealPart()+" + 

"+cc.getImagPart()+" i");
    	 cc.multiply(c1,c2);
    	 System.out.println(a+" + "+b+" i * "+c+" + "+d+" i = "+cc.getRealPart()+" + 

"+cc.getImagPart()+" i");
    	 cc.divide(c1,c2);
    	 System.out.println(a+" + "+b+" i / "+c+" + "+d+" i = "+cc.getRealPart()+" + 

"+cc.getImagPart()+" i");
    	 cc.abs(c1);
    	 System.out.println("| "+a+" + "+b+" i | = "+cc.abs(c1));
    	 cc.abs(c2);
    	 System.out.println("| "+a+" + "+b+" i | = "+cc.abs(c2));
    }
}

运行结果:



知识点总结:

类和对象。


学习心得:

Java里木有引用“&”,C++里有。。

其他的好像就和上个学期用C++写的复数类差不多啦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值