導航:首頁 > 編程語言 > 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復數加減相關的資料

熱點內容
怎樣製作文件夾和圖片 瀏覽:58
調研編譯寫信息 瀏覽:859
python馮諾依曼 瀏覽:417
同時安裝多個app有什麼影響 瀏覽:252
奧術殺戮命令宏 瀏覽:182
用sdes加密明文字母e 瀏覽:359
單片機原理及應用試題 瀏覽:423
易語言開啟指定文件夾 瀏覽:40
馬思純參加密室大逃脫 瀏覽:322
文件夾冬季澆築溫度 瀏覽:712
京東有返點的aPp叫什麼 瀏覽:603
如何查看u點家庭伺服器是幾兆 瀏覽:262
python應用介面怎麼接 瀏覽:67
腐蝕怎麼進不去伺服器啊 瀏覽:359
linuxcpiogz 瀏覽:630
安卓中的布局是什麼文件 瀏覽:397
dex反編譯部分代碼無法查看 瀏覽:464
linuxandroid編譯 瀏覽:603
程序員電視劇20集 瀏覽:910
怎麼擴建文件夾 瀏覽:160