⑴ java 中實現復數的加減
復數類:
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);
}
}
源代碼:
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);//自己化簡
}
}