导航:首页 > 编程语言 > java复数加减

java复数加减

发布时间:2022-09-04 22:53:00

java 中实现复数的加减

(1):具体代码(附注释)

复数类:

publicclassComplex{

privatefloatshibu;

privatefloatxubu;

Complex()

{this(0,0);

}

Complex(floatshibu,floatxubu){

this.shibu=shibu;

this.xubu=xubu;

}


publicvoidAdd(Complexp)

{

Complexresult=newComplex();

result.shibu=this.shibu+p.shibu;

result.xubu=this.xubu+p.xubu;

System.out.print("加法结果为:"+result.shibu+"+"+result.xubu+"i");

}


publicvoidSub(Complexp)

{

Complexresult=newComplex();

result.shibu=this.shibu-p.shibu;

result.xubu=this.xubu-p.xubu;

System.out.print("加法结果为:"+result.shibu+"+"+result.xubu+"i");

}

publicvoidMul(Complexp)

{

Complexresult=newComplex();

result.shibu=this.shibu*p.shibu-this.xubu*p.xubu;

result.xubu=this.shibu*p.xubu+p.shibu*this.xubu;

System.out.print("乘法结果为:"+result.shibu+"+"+result.xubu+"i");

}

publicstaticvoidmain(String[]args){


Complexfushu1=newComplex(1,2);

Complexfushu2=newComplex(3,4);

fushu1.Add(fushu2);

fushu1.Sub(fushu2);

fushu1.Mul(fushu2);


}


}

(2):提供一个例子:

源代码:

importjava.io.*;

publicclassBook{

doublesb;

doublexb;

Book(doublex,doubley){

this.sb=x;

this.xb=y;

}

Book(){

}


publicstaticvoidmain(Stringargs[]){


System.out.println("请输入数据:");

doublea=0;

doubleb=0;

doublec=0;

doubled=0;

Strings;


BufferedReaderin=newBufferedReader(newInputStreamReader(System.in));

System.out.println("请输入第一个复述的实部:");

try{

s=in.readLine();

a=Double.parseDouble(s);

}

catch(IOExceptione)

{System.out.println("抛掷异常");}

System.out.println("请输入第一个复述的虚部:");

try{

s=in.readLine();

b=Double.parseDouble(s);

}

catch(IOExceptione)

{System.out.println("抛掷异常");}


System.out.println("请输入第二个复述的实部:");

try{

s=in.readLine();

c=Double.parseDouble(s);

}

catch(IOExceptione)

{System.out.println("抛掷异常");}

System.out.println("请输入第二个复述的虚部:");

try{

s=in.readLine();

d=Double.parseDouble(s);

}

catch(IOExceptione)

{System.out.println("抛掷异常");}

Bookh;

h=newBook(a,b);

Bookj;

j=newBook(c,d);

System.out.println("您输入的一个数为:");

toString(h);

System.out.println("您输入的二个数为:");

toString(j);


Bookk;

k=newBook();


charz='y';

do{


System.out.println("请选择您要进行的计算:");

System.out.println("1:进行加法运算");

System.out.println("2:进行减法运算");

System.out.println("3:进行修改");

System.out.println("4:进行乘法运算");

System.out.println("5:进行除法运算");

System.out.println("6:查看修改结果");

inti=0;

try{

i=Integer.parseInt(in.readLine());

}

catch(IOExceptione)

{System.out.println("抛掷异常");}

switch(i)

{

case1:

k.sb=jia(h.sb,j.sb);

k.xb=jia(h.xb,j.xb);

System.out.println("计算结果的实部为:"+k.sb);

System.out.println("计算结果的虚部为:"+k.xb);

toString(k);

break;

case2:

k.sb=jian(h.sb,j.sb);

k.xb=jian(h.xb,j.xb);

System.out.println("计算结果的实部为:"+k.sb);

System.out.println("计算结果的虚部为:"+k.xb);

toString(k);

break;

case3:

System.out.println("请输入您要修改哪个实数:");

intl=0;

try{

l=Integer.parseInt(in.readLine());

}

catch(IOExceptione)

{System.out.println("抛掷异常");}

if(l==1)

{

h.xiugais(h);

h.xiugaix(h);

}

else

{

xiugais(j);

xiugaix(j);

}

break;

case4:

doublef=0;

doublee=0;

f=cheng(h.sb,j.sb)+cheng(h.xb,j.xb);

e=cheng(h.sb,j.xb)+cheng(h.xb,j.sb);

k.sb=(double)(Math.round(f*100)/100.0);

k.xb=(double)(Math.round(e*100)/100.0);

System.out.println("计算结果的实部为:"+k.sb);

System.out.println("计算结果的虚部为:"+k.xb);

toString(k);

break;

case5:

doublechushu=cheng(j.sb,j.sb)-cheng(j.xb,-j.xb);

doublebeichushus=jian(cheng(h.sb,j.sb),cheng(h.xb,-j.xb));

doublebeichushux=jia(cheng(h.sb,-j.xb),cheng(h.xb,j.sb));

k.sb=chu(beichushus,chushu);

k.xb=chu(beichushux,chushu);

System.out.println("计算结果的实部为:"+k.sb);

System.out.println("计算结果的虚部为:"+k.xb);

toString(k);

break;

case6:

System.out.println("修改后的结果为:");

System.out.println("第一个复数:"+toString(h));

System.out.println("第二个复数:"+toString(j));

break;


}

System.out.println("请问您是否还要继续y/n:");

try{

z=(char)System.in.read();

System.in.skip(2);//忽略回车换行

}

catch(IOExceptione){}


}while(z=='y');

}


publicstaticdoublegets(Booka){

returna.sb;

}

publicstaticdoublegetx(Bookb){

returnb.xb;

}


publicstaticdoublexiugais(Booka)

{

BufferedReaderin=newBufferedReader(newInputStreamReader(System.in));

System.out.println("请输入您要修改的实部:");

doublem=0;

try{

m=Double.parseDouble(in.readLine());

}

catch(IOExceptione)

{System.out.println("抛掷异常");}

a.sb=m;

System.out.println("修改成功:");

return0;

}

publicstaticdoublexiugaix(Bookb)

{

BufferedReaderin=newBufferedReader(newInputStreamReader(System.in));

System.out.println("请输入您要修改的虚部:");

doublen=0;

try{

n=Double.parseDouble(in.readLine());

}

catch(IOExceptione)

{System.out.println("抛掷异常");}

b.xb=n;

System.out.println("修改成功:");

return0;

}

publicstaticdoublejia(doublea,doubleb)//

{

doublec=0;

c=a+b;

System.out.println("加法成功:");

returnc;

}


publicstaticdoublejian(doublea,doubleb)

{

doublec=0;

c=a-b;

System.out.println("减法成功:");

returnc;

}


publicstaticdoublecheng(doublea,doubleb)

{

doublec=0;

c=a*b;

System.out.println("乘法成功:");

returnc;

}


publicstaticdoublechu(doublea,doubleb)

{

doubled=0;

doublec=0;

d=a/b;

c=(double)(Math.round(d*100)/100.0);

System.out.println("除法成功:");

returnc;

}

publicstaticdoubletoString(Booka){

System.out.println("结果为:"+a.sb+"+"+a.xb+"*i");

return0;

}

}

(3)测试结果截图:

⑵ 用java设计一个MyComplex,该类可完成复数的加减乘除等运算功能。

public class Complex {
private int realpart; // 实部
private int imaginpart; // 虚部

public Complex(int realpart, int imaginpart) {//有参构造
super();
setimaginpart(imaginpart);
setrealpart(realpart);
}
public Complex() {//无参
super();
realpart=0;
imaginpart=0;
}

public int getrealpart() {
return realpart;
}
public void setrealpart(int real) {
realpart = real;
}

public int getimaginpart() {
return imaginpart;
}

public void setimaginpart(int imag) {
imaginpart= imag;
}
public static Complex ComplexAdd(Complex a,Complex b){
int n=a.imaginpart+b.imaginpart;
int m=a.realpart+b.realpart;
Complex result=new Complex(m,n);
return result;
}
/*
*
* 省去其它其他运算
*
*/
public static void playComplex(Complex c){
System.out.println(c.realpart+"+"+c.imaginpart+"i");
}

public static void main(String []args){
// 自己测试
}
}

⑶ java 编写一个可对复数进行加减运算的程序

1、real和image这两个field前面的static去掉。

2、public Complex() 这个构造器去掉,如果要接受输入的话,应该放到main方法里,这样这个类更清晰。

3、静态方法Complex_add和Complex_minus没指定返回值类型,应该返回的是Complex。另外方法名字首字母应小写。

4、参考这个:http://..com/question/151336863.html

⑷ 如何用java程序编写输入两个复数,然后进行那个加减乘,最后显示结果。

例如:ai+b ci+d
加法:int a,b,c,d;int x,y; x=a+c; y=b+d
结果就为:xi+y 这很简单 再输出的时候要变为字符串型 这样你就可以再x后加个i 形成xi的形式了

减法: int a,b,c,d;int x,y; x=a-c; y=b-d
结果就为:xi+y 这很简单 再输出的时候要变为字符串型 这样你就可以再x后加个i 形成xi的形式了

乘法: int a,b,c,d;int x,y;
x=a*d+b*c y=b*d-a*c
结果就为:xi+y 这很简单 再输出的时候要变为字符串型 这样你就可以再x后加个i 形成xi的形式了

⑸ JAVA实现复数加、减、乘的运算

//把里程序里的变量名稍微修改下就可以了
/*
* Copyright:bee1314 programs studio
* All my programs can be copied and modified
* *********************************************
* Author:hufeng date:2008/4/16
* Version:V1.0
* ********************************************
* Description:
* The programs creates a complexNumber class
* and includes basic operators
*/
import java.io.*;
class ComplexNumber
{
double realPart; //the real part of complexNumber
double virtualPart; //the vistual part of primerNumber

//construct function
public ComplexNumber(double realPart, double virtualPart)
{
this.realPart = realPart;
this.virtualPart = virtualPart;
}
public void addComplexNumber(ComplexNumber number1)
{
double rp = realPart + number1.realPart;
double vp = virtualPart + number1.virtualPart;
System.out.println("The addition is:");
System.out.print(rp + "+" + vp + "i");
System.out.println();
}
public void subComplexNumber(ComplexNumber number1)
{
double rp = realPart - number1.realPart;
double vp = virtualPart - number1.virtualPart;
System.out.println("The subtruction is:");
System.out.print(rp + "+ " + vp +"i");
System.out.println();
}
public void mulComplexNumber(ComplexNumber number1)
{
double rp = realPart * number1.realPart - virtualPart * number1.virtualPart;
double vp = realPart * number1.virtualPart + virtualPart * number1.realPart;
System.out.println("The multiple is:");
System.out.print(rp + "+" + vp + "i");
System.out.println();
}
public void divComplexNumber(ComplexNumber number1)
{
double rp = (realPart * number1.realPart + virtualPart * number1.virtualPart) / (number1.realPart * number1.realPart + number1.virtualPart * virtualPart);
double vp = (virtualPart * number1.realPart - realPart * number1.virtualPart)/ (number1.realPart * number1.realPart + number1.virtualPart * virtualPart);
System.out.println("The division is:" );
System.out.println(rp + "+" + vp + "i");
System.out.println();
}
}

class Console
{
public static void main(String[] args)throws IOException
{
InputStreamReader readRealPartNumber = new InputStreamReader(System.in);
BufferedReader inputRealPartNumber = new BufferedReader(readRealPartNumber);
System.out.println("Please enter the first number's realpart number:");
String strRealPartNumber = inputRealPartNumber.readLine();
double realPartNumber = Double.parseDouble(strRealPartNumber);

InputStreamReader readVirtualPartNumber = new InputStreamReader(System.in);
BufferedReader inputVirtualPartNumber = new BufferedReader(readVirtualPartNumber);
System.out.println("Please enter the first number's realpart number:");
String strVirtualPartNumber = inputVirtualPartNumber.readLine();
double virtualPartNumber = Double.parseDouble(strVirtualPartNumber);

InputStreamReader readRealPartNumber1 = new InputStreamReader(System.in);
BufferedReader inputRealPartNumber1 = new BufferedReader(readRealPartNumber1);
System.out.println("Please enter the second number's realpart number:");
String strRealPartNumber1 = inputRealPartNumber1.readLine();
double realPartNumber1 = Double.parseDouble(strRealPartNumber1);

InputStreamReader readVirtualPartNumber1 = new InputStreamReader(System.in);
BufferedReader inputVirtualPartNumber1 = new BufferedReader(readVirtualPartNumber1);
System.out.println("Please enter the second number's realpart number:");
String strVirtualPartNumber1 = inputVirtualPartNumber1.readLine();
double virtualPartNumber1 = Double.parseDouble(strVirtualPartNumber1);

ComplexNumber number = new ComplexNumber(realPartNumber, virtualPartNumber);
ComplexNumber number1 = new ComplexNumber(realPartNumber1, virtualPartNumber1);
number.addComplexNumber(number1);
number.subComplexNumber(number1);
number.mulComplexNumber(number1);
number.divComplexNumber(number1);

}
}

⑹ 构建一个复数类,怎么用java实现复数的加减

public class ComplexDemo {
// main方法
public static void main(String[] a) {
Complex b = new Complex(2, 5);
Complex c = new Complex(3, -4);
System.out.println(b + "+" + c + "=" + b.add(c));
System.out.println(b + "-" + c + "=" + b.minus(c));
System.out.println(b + "*" + c + "=" + b.multiply(c));
System.out.println(b + "/" + c + "=" + b.divide(c));
}
}

// Complex类
class Complex {
private double m;// 实部
private double n;// 虚部

public Complex(double m, double n) {
this.m = m;
this.n = n;
}

// add
public Complex add(Complex c) {
return new Complex(m + c.m, n + c.n);
}

// minus
public Complex minus(Complex c) {
return new Complex(m - c.m, n - c.n);
}

// multiply
public Complex multiply(Complex c) {
return new Complex(m * c.m - n * c.n, m * c.n + n * c.m);
}

// divide
public Complex divide(Complex c) {
double d = Math.sqrt(c.m * c.m) + Math.sqrt(c.n * c.n);
return new Complex((m * c.m + n * c.n) / d, Math.round((m * c.n - n * c.m) / d));
}

public String toString() {
String rtr_str = "";
if (n > 0)
rtr_str = "(" + m + "+" + n + "i" + ")";
if (n == 0)
rtr_str = "(" + m + ")";
if (n < 0)
rtr_str = "(" + m + n + "i" + ")";
return rtr_str;
}
}

⑺ java中如何实现复数的加减

不知道是不是 ~
//复数类。

public 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)

*/

⑻ 1.运用java 编写一个复数类,有实部和虚部,并实现复数的加减乘除运算

public class ComplexNumber {

/**
* @param args
*/
int shi,xu;//复数的实部和虚部
public ComplexNumber(int n,int ni){
shi = n;
xu = ni;
}
public void ComplexShow(){
String output = "";
output+=shi;
if(xu>=0){
output+="+";
}
output+=xu;
output+="i";
System.out.println(output);
}
public void ComplexShow1(){//不要换行
String output = "";
output+=shi;
if(xu>=0){
output+="+";
}
output+=xu;
output+="i";
System.out.print(output);
}
public static void ComplexAdd(ComplexNumber x1,ComplexNumber x2){//实现两个复数相加
ComplexNumber cn = new ComplexNumber(0, 0);//将两个复数相加等于cn
cn.shi = x1.shi + x2.shi;
cn.xu = x1.xu + x2.xu;
cn.ComplexShow();
}
public static void ComplexMinus(ComplexNumber x1,ComplexNumber x2){//实现两个复数相减,第一个数减第二个数
ComplexNumber cn = new ComplexNumber(0, 0);//将两个复数相加等于cn
cn.shi = x1.shi - x2.shi;
cn.xu = x1.xu - x2.xu;
cn.ComplexShow();
}
public static void ComplexMultiply(ComplexNumber x1,ComplexNumber x2){//实现两个复数相乘
ComplexNumber cn = new ComplexNumber(0, 0);//将两个复数相加等于cn
cn.shi = x1.shi * x2.shi - x1.xu * x2.xu;
cn.xu = x1.xu * x2.shi + x2.xu * x1.shi;
cn.ComplexShow();
}
public static void ComplexDivide(ComplexNumber x1,ComplexNumber x2){//实现两个复数相除,第一个数除以第二个数
ComplexNumber x2_gong = new ComplexNumber(x2.shi,0-x2.xu);//求被除数的共轭复数
ComplexNumber cn = new ComplexNumber(0, 0);//将两个复数相加等于cn
cn.shi = x1.shi * x2_gong.shi - x1.xu * x2_gong.xu;//x1/x2,求分子实部
cn.xu = x1.xu * x2_gong.shi + x2_gong.xu * x1.shi;//x1/x2,求分子虚部
int fenMu = x2.shi * x2.shi + x2.xu * x2.xu;

if(fenMu!=0){
System.out.print("(");
cn.ComplexShow1();
System.out.print(")");
System.out.println("/"+fenMu);
}
else
System.out.println("分母为零,无法相除");

}
public static void main(String[] args) {
// TODO Auto-generated method stub
ComplexNumber cn = new ComplexNumber(-1, -1);//初始化复数
cn.ComplexShow();//显示复数

ComplexNumber c1 = new ComplexNumber(-1, -1);
ComplexNumber c2 = new ComplexNumber(1, 1);
System.out.print("加:");
ComplexAdd(c1, c2);
System.out.print("减:");
ComplexMinus(c1, c2);
System.out.print("乘:");
ComplexMultiply(c1, c2);
System.out.print("除:");
ComplexDivide(c1, c2);//自己化简
}

}

阅读全文

与java复数加减相关的资料

热点内容
unix网络编程卷4 浏览:805
找靓机app下单什么时候发货 浏览:411
android一个应用两个进程 浏览:801
linux硬盘复制 浏览:806
php图片服务器搭建 浏览:798
下载压缩文件怎么打开 浏览:192
新建文件夹叫什么名字 浏览:565
windows20的开机命令 浏览:332
微信一般在电脑的那个文件夹 浏览:509
go在win7下编译特别慢 浏览:256
光遇ios耳机安卓为什么没有 浏览:904
小米手机桌面文件夹经常自动散开 浏览:607
小米电话手表用什么app进行设置 浏览:265
虚拟打印机pdf下载 浏览:671
jdk编译运行方法 浏览:459
android执行shell命令 浏览:349
程序员头像女 浏览:57
有什么可以变头发颜色的app 浏览:935
玩具解压屋游戏下载 浏览:849
我的世界拔刀剑服务器地址id 浏览:891