「java复数指数」java复数类的实现及运算

博主:adminadmin 2022-12-30 08:06:09 849

今天给各位分享java复数指数的知识,其中也会对java复数类的实现及运算进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

用Java语言定义复数类Complex,必须满足如下要求:

public class Complex{

public int RealPart;

public int ImaginPart;

public Complex(){

this.RealPart = 0;

this.ImaginPart = 0;

}

public Complex(int r, int i){

this.RealPart = r;

this.ImaginPart = i

}

public Complex complexAdd(Complex a){

this.RealPart += a.RealPart;

this.ImaginPart += a.ImaginPart;

//这里返回什么?复数值是指哪个?还是复数对象?没有说清楚。我这里返回复数对象。

return this;

}

public String ToString(){

return ""+this.RealPart + this.ImaginPart;//return "" + 1 + 2 = "12";不知道这里要求是不是这样。有些话写的我没法理解。你的a + bi是个啥?如果是返回实数和虚数的和就给 1 + 2的部分加上括号。

}

}

java里怎样表示复数啊

ic class Complex

{

private double real,im; //实部,虚部

public Complex(double real, double im) //构造方法

{

this.real = real;

this.im = im;

}

public Complex(double real) //构造方法重载

{

this(real,0);

}

public Complex()

{

this(0,0);

}

public Complex(Complex c) //拷贝构造方法

{

this(c.real,c.im);

}

public boolean equals(Complex c) //比较两个对象是否相等

{

return this.real==c.real this.im==c.im;

}

public String toString()

{

return "("+this.real+"+"+this.im+"i)";

}

public void add(Complex c) //两个对象相加

{ //改变当前对象,没有返回新对象

this.real += c.real;

this.im += c.im;

}

public Complex plus(Complex c) //两个对象相加,与add()方法参数一样不能重载

{ //返回新创建对象,没有改变当前对象

return new Complex(this.real+c.real, this.im+c.im);

}

public void subtract(Complex c) //两个对象相减

{ //改变当前对象,没有返回新对象

this.real -= c.real;

this.im -= c.im;

}

public Complex minus(Complex c) //两个对象相减,与subtract()方法参数一样不能重载

{ //返回新创建的对象,没有改变当前对象

return new Complex(this.real-c.real, this.im-c.im);

}

}

class Complex__ex

{

public static void main(String args[])

{

Complex a = new Complex(1,2);

Complex b = new Complex(3,5);

Complex c = a.plus(b); //返回新创建对象

System.out.println(a+" + "+b+" = "+c);

}

}

/*

程序运行结果如下:

(1.0+2.0i) + (3.0+5.0i) = (40.0+7.0i)

*/

复数的指数形式是什么?

复数指数形式:e^(iθ)=isinθ+cosθ。

证明方法就是把e^(iθ)和sinθ,cosθ展开成无穷级数。

将复数化为三角表示式和指数表示式是:复数z=a+bi有三角表示式z=rcosθ+irsinθ,可以化为指数表示式z=r*exp(iθ)。

exp()为自然对数的底e的指数函数。即:exp(iθ)=cosθ+isinθ。证明可以通过幂级数展开或对函数两端积分得到,是复变函数的基本公式。

复数有多种表示形式:代数形式、三角形式和指数形式等。

代数形式:z=a+bi,a和b都是实数,a叫做复数的实部,b叫做复数的虚部,i是虚数单位,i^2=-1。

三角形式:z=r(cosθ+isinθ)。r=√(a^2+b^2),是复数的模(即绝对值),θ是以x轴为始边,射线OZ为终边的角,叫做复数的辐角,辐角的主值记作arg(z)。

两角和公式:

sin(A+B) = sinAcosB+cosAsinB。

sin(A-B) = sinAcosB-cosAsinB。

cos(A+B) = cosAcosB-sinAsinB。

cos(A-B) = cosAcosB+sinAsinB。

tan(A+B) = (tanA+tanB)/(1-tanAtanB)。

tan(A-B) = (tanA-tanB)/(1+tanAtanB。

以上内容参考:百度百科-复数

用java 编写一个复数类

public class Complex {

protected int a;

protected int b;

public Complex(int a, int b) {

this.a = a;

this.b = b;

}

public String toString() {

return this.a + " + " + this.b + "i";

}

public static Complex addition(Complex complex1, Complex complex2) {

int a = complex1.a + complex2.a;

int b = complex1.b + complex2.b;

return new Complex(a, b);

}

public static Complex subtract(Complex complex1, Complex complex2) {

int a = complex1.a - complex2.a;

int b = complex1.b - complex2.b;

return new Complex(a, b);

}

public static Complex multiplication(Complex complex1, Complex complex2) {

int a = complex1.a * complex2.a - complex1.b * complex2.b;

int b = complex1.b * complex2.a + complex1.a * complex2.b;

return new Complex(a, b);

}

public static Complex division(Complex complex1, Complex complex2) throws Exception {

if (complex2.a == 0) {

throw new Exception("complex2.a is 0");

}

if (complex2.b == 0) {

throw new Exception("complex2.b is 0");

}

int a = (complex1.a * complex2.a + complex1.b * complex2.b) / (complex2.a * complex2.a + complex2.b * complex2.b);

int b = (complex1.b * complex2.a - complex1.a * complex2.b) / (complex2.a * complex2.a + complex2.b * complex2.b);

return new Complex(a, b);

}

}

//测试用的类

public class ComplexTest {

public static void main(String[] args) throws Exception{

// TODO Auto-generated method stub

Complex complex1 = new Complex(1, 2);

Complex complex2 = new Complex(3, 4);

System.out.println(complex1 + " + " + complex2 + " = " + Complex.addition(complex1, complex2));

System.out.println(complex1 + " - " + complex2 + " = " + Complex.subtract(complex1, complex2));

System.out.println(complex1 + " x " + complex2 + " = " + Complex.multiplication(complex1, complex2));

System.out.println(complex1 + " / " + complex2 + " = " + Complex.division(complex1, complex2));

}

}

Java作业 关于复数的 懂得帮帮吧,完成一定加分

前面天刚写的你看看,把名字改一下,有什么问题hi我

import java.math.BigDecimal;

import java.math.BigInteger;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.Scanner;

import java.util.Set;

import javax.swing.text.html.HTMLDocument.Iterator;

public class MyComplex {

private double realpart; // 实部

private double imaginpart; // 虚部

public MyComplex ( double realpart, double imaginpart) {//有参构造

super();

setimaginpart(imaginpart);

setrealpart(realpart);

}

public MyComplex () {//无参

super();

realpart=0;

imaginpart=0;

}

public double getrealpart() {

return realpart;

}

public void setrealpart(double real) {

realpart = real;

}

public double getimaginpart() {

return imaginpart;

}

public void setimaginpart(double imag) {

imaginpart= imag;

}

public static MyComplex MyComplexAdd( MyComplex a, MyComplex b){

double n=a.imaginpart+b.imaginpart;

double m=a.realpart+b.realpart;

MyComplex result=new MyComplex (m,n);

return result;

}

public static MyComplex MyComplexSub( MyComplex a, MyComplex b){

double m=a.realpart-b.realpart;

double n=a.imaginpart-b.imaginpart;

MyComplex result=new MyComplex (m,n);

return result;

}

public static MyComplex MyCompleMul( MyComplex a, MyComplex b){

double m=(a.realpart*b.realpart)-(a.imaginpart*b.imaginpart);

double n=(a.realpart*b.imaginpart)+(a.imaginpart*b.imaginpart);

MyComplex result=new MyComplex (m,n);

return result;

}

public static MyComplex MyCompleDiv( MyComplex a, MyComplex b){// a/b

double c=b.realpart*b.realpart+b.imaginpart*b.imaginpart;

double n=(a.realpart*b.realpart)/c;

double m=a.imaginpart*(-1)*(b.imaginpart)/c;

MyComplex result=new MyComplex (m,n);

return result;

}

public static void playMyComplex ( MyComplex c){

if(c.imaginpart0)

System.out.println(c.realpart+""+c.imaginpart+"i");

if(c.imaginpart==0)

System.out.println(c.realpart)

if( c.imaginpart0)

System.out.println(c.realpart+"+"+c.imaginpart+"i");

}

@Override

public boolean equals(Object o){

if(o==null){

return false;

}else if(o instanceof MyComplex){

MyComplex myComplex=(MyComplex)o;

if(myComplex.realpart==this.realpartmyComplex.imaginpart==this.imaginpart){

return true;

}else

return false;

}

return false;

}

public static void main(String []args){

MyComplex a=new MyComplex(12,8);

MyComplex b=new MyComplex(3,4);

System.out.print("复数a: ");

MyComplex.playMyComplex(a);

System.out.print("复数b: ");

MyComplex.playMyComplex(b);

System.out.print("a+b:");

MyComplex result=MyComplex.MyComplexAdd(a, b);

MyComplex.playMyComplex(result);

System.out.print("a-b:");

result=MyComplex.MyComplexSub(a, b);

MyComplex.playMyComplex(result);

System.out.print("a*b:");

result=MyComplex.MyCompleMul(a, b);

MyComplex.playMyComplex(result);

System.out.print("a/b:");

result=MyComplex.MyCompleDiv(a, b);

MyComplex.playMyComplex(result);

a=new MyComplex(4,5);

b=new MyComplex(4,5);

System.out.print("复数a: ");

MyComplex.playMyComplex(a);

System.out.print("复数b: ");

MyComplex.playMyComplex(b);

System.out.println("a==b:"+(a==b));

System.out.println("a.equals(b):"+a.equals(b));

}

}

java复数指数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java复数类的实现及运算、java复数指数的信息别忘了在本站进行查找喔。