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

jack21752 1年前 已收到1个回答 举报

mssbb999 幼苗

共回答了21个问题采纳率:85.7% 举报

public class ComplexNumber {
x05/**
x05 * @param args
x05 */
x05int shi,xu;//复数的实部和虚部
x05public ComplexNumber(int n,int ni){
x05x05shi = n;
x05x05xu = ni;
x05}
x05public void ComplexShow(){
x05x05String output = "";
x05x05output+=shi;
x05x05if(xu>=0){
x05x05x05output+="+";
x05x05}
x05x05output+=xu;
x05x05output+="i";
x05x05System.out.println(output);
x05}
x05public void ComplexShow1(){//不要换行
x05x05String output = "";
x05x05output+=shi;
x05x05if(xu>=0){
x05x05x05output+="+";
x05x05}
x05x05output+=xu;
x05x05output+="i";
x05x05System.out.print(output);
x05}
x05public static void ComplexAdd(ComplexNumber x1,ComplexNumber x2){//实现两个复数相加
x05x05ComplexNumber cn = new ComplexNumber(0,0);//将两个复数相加等于cn
x05x05cn.shi = x1.shi + x2.shi;
x05x05cn.xu = x1.xu + x2.xu;
x05x05cn.ComplexShow();
x05}
x05public static void ComplexMinus(ComplexNumber x1,ComplexNumber x2){//实现两个复数相减,第一个数减第二个数
x05x05ComplexNumber cn = new ComplexNumber(0,0);//将两个复数相加等于cn
x05x05cn.shi = x1.shi - x2.shi;
x05x05cn.xu = x1.xu - x2.xu;
x05x05cn.ComplexShow();
x05}
x05public static void ComplexMultiply(ComplexNumber x1,ComplexNumber x2){//实现两个复数相乘
x05x05ComplexNumber cn = new ComplexNumber(0,0);//将两个复数相加等于cn
x05x05cn.shi = x1.shi * x2.shi - x1.xu * x2.xu;
x05x05cn.xu = x1.xu * x2.shi + x2.xu * x1.shi;
x05x05cn.ComplexShow();
x05}
x05public static void ComplexDivide(ComplexNumber x1,ComplexNumber x2){//实现两个复数相除,第一个数除以第二个数
x05x05ComplexNumber x2_gong = new ComplexNumber(x2.shi,0-x2.xu);//求被除数的共轭复数
x05x05ComplexNumber cn = new ComplexNumber(0,0);//将两个复数相加等于cn
x05x05cn.shi = x1.shi * x2_gong.shi - x1.xu * x2_gong.xu;//x1/x2,求分子实部
x05x05cn.xu = x1.xu * x2_gong.shi + x2_gong.xu * x1.shi;//x1/x2,求分子虚部
x05x05int fenMu = x2.shi * x2.shi + x2.xu * x2.xu;
x05x05
x05x05if(fenMu!=0){
x05x05x05System.out.print("(");
x05x05x05cn.ComplexShow1();
x05x05x05System.out.print(")");
x05x05 System.out.println("/"+fenMu);
x05x05}
x05x05else
x05x05x05System.out.println("分母为零,无法相除");
x05x05x05
x05}
x05public static void main(String[] args) {
x05x05// TODO Auto-generated method stub
x05x05ComplexNumber cn = new ComplexNumber(-1,-1);//初始化复数
x05x05cn.ComplexShow();//显示复数
x05x05
x05x05ComplexNumber c1 = new ComplexNumber(-1,-1);
x05x05ComplexNumber c2 = new ComplexNumber(1,1);
x05x05System.out.print("加:");
x05x05ComplexAdd(c1,c2);
x05x05System.out.print("减:");
x05x05ComplexMinus(c1,c2);
x05x05System.out.print("乘:");
x05x05ComplexMultiply(c1,c2);
x05x05System.out.print("除:");
x05x05ComplexDivide(c1,c2);//自己化简
x05}
}

1年前

1
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.702 s. - webmaster@yulucn.com