⑴ 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);//自己化简
}
}