「java复数指数」java复数类的实现及运算
今天给各位分享java复数指数的知识,其中也会对java复数类的实现及运算进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、用Java语言定义复数类Complex,必须满足如下要求:
- 2、java里怎样表示复数啊
- 3、复数的指数形式是什么?
- 4、用java 编写一个复数类
- 5、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复数指数的信息别忘了在本站进行查找喔。