java关于复数的模代码 java实现复数的加法

Java中输入一组复数,对这组复数按模长从小到大进行排序import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* @author young
* @Description: TODO
* @date 2016年5月21日下午5:03:16
*/
【java关于复数的模代码 java实现复数的加法】interface MyComparable {
public int myCompareTo(Complex c);
}
public class Complex implements MyComparable {
private double re;// 实部
private double im;// 虚部
private double mc;// 模长
public Complex() {
super();
}
public Complex(double re, double im) {
super();
this.re = re;
this.im = im;
}
public double getRe() {
return re;
}
public void setRe(double re) {
this.re = re;
}
public double getIm() {
return im;
}
public void setIm(double im) {
this.im = im;
}
//根据实部和虚部计算出复数的模长
public double getMod() {
return Double.valueOf(String.format("%.6f", Math.sqrt(this.re * this.rethis.im * this.im)));
}
public double getMc() {
return mc;
}
public void setMc(double mc) {
this.mc = mc;
}
@Override
//实现接口中的方法,根据模长来比较复数
public int myCompareTo(Complex c) {
// TODO Auto-generated method stub
if (this.mcc.mc) {
return -1;
} else if (this.mcc.mc) {
return 1;
} else {
return 0;
}
}
public String toString(){
return String.valueOf(this.re)" "String.valueOf(this.im)"i"" =模长: "this.getMod();
}
//测试结果
public static void main(String[] args) {
ListComplex lists = new ArrayListComplex();
double[] mod = new double[5];
Scanner scanner = new Scanner(System.in);
int number = 0;
double m ;
while(number5){
Complex c = new Complex();
System.out.print("输入第["(number1)"]个数的实部:");
c.setRe(scanner.nextDouble());
System.out.print("输入第["(number1)"]个数的虚部:");
c.setIm(scanner.nextDouble());
m = c.getMod();
c.setMc(m);
mod[number] = m;
lists.add(c);
number;
}
System.out.println("\n冒泡排序(从大到小): ");
for (int k = 0; kmod.length - 1; k) {
for (int j = k1; jmod.length; j) { // 升序把改成
if (mod[k]mod[j]) {
double temp = mod[k];
mod[k] = mod[j];
mod[j] = temp;
}
}
}
//排序后输出
for(int i = 0; imod.length; i){
for(int j = 0; jlists.size(); j){
if(mod[i] == lists.get(j).getMc()){
System.out.println(lists.get(j).toString());
}
}
}
}
}
java 中实现复数的加减(1):具体代码(附注释)
复数类:
public class Complex {
private float shibu;
private float xubu;
Complex()
{this(0,0);
}
Complex(float shibu,float xubu){
this.shibu=shibu;
this.xubu=xubu;
}
public void Add(Complex p)
{
Complex result=new Complex();
result.shibu=this.shibu p.shibu;
result.xubu=this.xubu p.xubu;
System.out.print("加法结果为:" result.shibu " " result.xubu "i");
}
public void Sub(Complex p)
{
Complex result=new Complex();
result.shibu=this.shibu-p.shibu;
result.xubu=this.xubu-p.xubu;
System.out.print("加法结果为:" result.shibu " " result.xubu "i");
}
public void Mul(Complex p)
{
Complex result=new Complex();
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");
}
public static void main(String[] args) {
Complex fushu1=new Complex(1,2);
Complex fushu2=new Complex(3,4);
fushu1.Add(fushu2);
fushu1.Sub(fushu2);
fushu1.Mul(fushu2);
}
}
(2):提供一个例子:
源代码:
import java.io.*;
public class Book{
double sb;
double xb;
Book(double x,double y){
this.sb=x;
this.xb=y;
}
Book(){
}
public static void main(String args[]){
System.out.println("请输入数据:");
double a=0;
double b=0;
double c=0;
double d=0;
String s;
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入第一个复述的实部:");
try{
s = in.readLine();
a=Double.parseDouble(s);
}
catch(IOException e)
{ System.out.println("抛掷异常");}
System.out.println("请输入第一个复述的虚部:");
try{
s = in.readLine();
b =Double.parseDouble(s);
}
catch(IOException e)
{ System.out.println("抛掷异常");}
System.out.println("请输入第二个复述的实部:");
try{
s = in.readLine();
c =Double.parseDouble(s);
}
catch(IOException e)
{ System.out.println("抛掷异常");}
System.out.println("请输入第二个复述的虚部:");
try{
s = in.readLine();
d =Double.parseDouble(s);
}
catch(IOException e)
{ System.out.println("抛掷异常");}
Book h;
h=new Book(a,b);
Book j;
j=new Book(c,d);
System.out.println("您输入的一个数为:");
toString(h);
System.out.println("您输入的二个数为:");
toString(j);
Book k;
k=new Book();
char z='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 :查看修改结果");
int i=0;
try{
i= Integer.parseInt(in.readLine());
}
catch(IOException e)
{ System.out.println("抛掷异常");}
switch(i)
{
case 1:
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 ;
case 2:
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 ;
case 3:
System.out.println("请输入您要修改哪个实数:");
int l=0;
try{
l= Integer.parseInt(in.readLine());
}
catch(IOException e)
{ System.out.println("抛掷异常");}
if(l==1)
{
h.xiugais(h);
h.xiugaix(h);
}
else
{
xiugais(j);
xiugaix(j);
}
break ;
case 4:
double f=0;
double e=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 ;
case 5:
double chushu=cheng(j.sb,j.sb)-cheng(j.xb,-j.xb);
double beichushus=jian(cheng(h.sb,j.sb),cheng(h.xb,-j.xb));
double beichushux=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 ;
case 6:
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(IOException e){}
} while(z=='y');
}
public static double gets(Book a){
return a.sb;
}
public static double getx(Book b){
return b.xb;
}
public static double xiugais(Book a)
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入您要修改的实部:");
double m=0;
try{
m= Double.parseDouble(in.readLine());
}
catch(IOException e)
{ System.out.println("抛掷异常");}
a.sb=m;
System.out.println("修改成功:");
return 0;
}
public static double xiugaix(Book b)
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入您要修改的虚部:");
double n=0;
try{
n= Double.parseDouble(in.readLine());
}
catch(IOException e)
{ System.out.println("抛掷异常");}
b.xb=n;
System.out.println("修改成功:");
return 0;
}
public static double jia(double a,double b)//
{
double c=0;
c=a b;
System.out.println("加法成功:");
return c ;
}
public static double jian(double a,double b)
{
double c=0;
c=a-b;
System.out.println("减法成功:");
return c;
}
public static double cheng(double a,double b)
{
double c=0;
c=a*b;
System.out.println("乘法成功:");
returnc;
}
public static double chu(double a,double b)
{
double d=0;
double c=0;
d=a/b;
c=(double)(Math.round(d*100)/100.0);
System.out.println("除法成功:");
return c ;
}
publicstatic double toString(Book a){
System.out.println("结果为:" a.sb " " a.xb "*i");
return 0;
}
}
(3)测试结果截图:
求大师写一下Java代码源代码package Project;
import java.util.Scanner;
public class Complex {
int x;
int y;
Complex(){
x=0;
y=0;
}
Complex(int i,int j){
x=i;
y=j;
}
//显示
public void showComp(){
if(y0){
System.out.print(x " " y "i" '\t');
}
if(y0){
System.out.print(x "" y "i" '\t');
}
if(y==0){
System.out.print(x "" '\t');
}
}
//求和
public static Complex addComp(Complex C1,Complex C2){
Complex newComplex=new Complex();
newComplex.x=C1.x C2.x;
newComplex.y=C1.y C2.y;
System.out.println();
System.out.print("和为:");
return newComplex;
}
//求差
public static Complex subComp(Complex C1,Complex C2){
Complex newComplex=new Complex();
newComplex.x=C1.x-C2.x;
newComplex.y=C1.y-C2.y;
System.out.println();
System.out.print("差为:");
return newComplex;
}
//求积
public static Complex multiComp(Complex C1,Complex C2){
Complex newComplex=new Complex();
newComplex.x=C1.x*C2.x-C1.y*C2.y;
newComplex.y=C1.x*C2.y C1.y*C2.x;
System.out.println();
System.out.print("积为:");
return newComplex;
}
//是否相等
public static boolean equalComp(Complex C1,Complex C2){
System.out.println();
System.out.print("是否相等:");
return ((C1.x==C2.x)(C1.y==C2.y));
}
public static void main(String[] args){
Scanner data=https://www.04ip.com/post/new Scanner(System.in);
int x=data.nextInt();
int y=data.nextInt();
int m=data.nextInt();
int n=data.nextInt();
Complex Comp1=new Complex(x,y);
Complex Comp2=new Complex(m,n);
data.close();
//显示
Comp1.showComp();
Comp2.showComp();
Complex.addComp(Comp1,Comp2).showComp();//显示 和
Complex.subComp(Comp1, Comp2).showComp();//显示 差
Complex.multiComp(Comp1, Comp2).showComp();//显示 积
System.out.println( Complex.equalComp(Comp1, Comp2));
}
}
用java编写一个复数类,包含实部和虚部属性,还有复数相加、相减以及复数的求模、输出复数字符串”a bi”import java.util.*;
public class ComplexTest{
static class ComplexNumber{
private double real,image;
public ComplexNumber(){
this(0.0,0.0);}
public ComplexNumber(double a,double b){
real=a;image=b;
}
public ComplexNumber add(ComplexNumber x){
return new ComplexNumber(real x.real,image x.image);}
public ComplexNumber sub(ComplexNumber x){
return new ComplexNumber(real-x.real,image-x.image);}
public ComplexNumber mul(ComplexNumber x){
return new ComplexNumber(real*x.real-image*x.image,real*x.image image*x.real);}
public ComplexNumber div(ComplexNumber x){
if(x.real==0x.image==0){
System.out.println("无法进行除法!");
return new ComplexNumber();}
else return new ComplexNumber((real*x.real image*x.image)/(x.real*x.real x.image*x.image)
,(image*x.real-real*x.image)/(x.real*x.real x.image*x.image));}
public double getReal (){return real;}
public double getImage (){return image;}
public void show(){System.out.println(this.toString());}
public String toString(){
if(image0)return "" real image "i";
else return "" real " " image "i";
}
}
static class Test{
public Test(){
Scanner sr=new Scanner(System.in);
ComplexNumber a,b,c;
try{System.out.println("请输入第一个实部和虚部:");
a=new ComplexNumber(sr.nextDouble(),sr.nextDouble());
System.out.println("请输入第二个实部和虚部:");
b=new ComplexNumber(sr.nextDouble(),sr.nextDouble());
System.out.print("第一个复数:");a.show();
System.out.print("第二个复数:");b.show();
c=a.add(b);
System.out.print("两个复数的和:");c.show();
c=a.sub(b);
System.out.print("两个复数的差:");c.show();
c=a.mul(b);
System.out.print("两个复数的积:");c.show();
c=a.div(b);
System.out.print("两个复数的商:");c.show();
}
catch(InputMismatchException e){
System.out.println("输入有误!");}
}
}
public static void main(String[] args){
new Test();
}
}
java中实现复数求模publicclassComplexDemo{//main方法publicstaticvoidmain(String[]a){Complexb=newComplex(2,5);Complexc=newComplex(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类classComplex{privatedoublem;//实部privatedoublen;//虚部publicComplex(doublem,doublen){this.m=m;this.n=n;}//addpublicComplexadd(Complexc){returnnewComplex(m c.m,n c.n);}//minuspublicComplexminus(Complexc){returnnewComplex(m-c.m,n-c.n);}//multiplypublicComplexmultiply(Complexc){returnnewComplex(m*c.m-n*c.n,m*c.n n*c.m);}//dividepublicComplexdivide(Complexc){doubled=Math.sqrt(c.m*c.m) Math.sqrt(c.n*c.n);returnnewComplex((m*c.m n*c.n)/d,Math.round((m*c.n-n*c.m)/d));}publicStringtoString(){Stringrtr_str="";if(n0)rtr_str="(" m " " n "i" ")";if(n==0)rtr_str="(" m ")";if(n0)rtr_str="(" m n "i" ")";returnrtr_str;}}
java关于复数的模代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java实现复数的加法、java关于复数的模代码的信息别忘了在本站进行查找喔 。

    推荐阅读