/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */package complexnumber;/**
 *
 * @author Administrator
 */
public class Number {
    private int A_RealPart;
    private int A_ImagPart;
    private int B_RealPart;
    private int B_ImagPart;
    public Number()
    {
        this(0,0,0,0);
    }
    public Number(int A_initRealPart,int A_initImagPart,int B_initRealPart,int B_initImagPart)
    {
        A_initRealPart=A_RealPart;
        A_initImagPart=A_ImagPart;
        B_initRealPart=B_RealPart;
        B_initImagPart=B_ImagPart;
    }
    public void setA_RealPart(int A_RealPart)
    {this.A_RealPart=A_RealPart;}
    public void setA_ImagPart(int A_ImagPart)
    {this.A_ImagPart=A_ImagPart;}
    public void setB_RealPart(int B_RealPart)
    {this.B_RealPart=B_RealPart;}
    public void setB_ImagPart(int B_ImagPart)
    {this.B_ImagPart=B_ImagPart;}    //加法
    private int add_RealPart,add_ImagPart;
    public int add_ComplexNumber_RealNumber()
    {
        add_RealPart=this.A_RealPart+this.B_RealPart;
        return(add_RealPart);
    }
    public int add_ComplexNumber_ImagNumber()
    {
        add_ImagPart=this.A_ImagPart+this.B_ImagPart;
        return(add_ImagPart);
    }    //减法
    private int sub_RealPart,sub_ImagPart;
    public int sub_ComplexNumber_RealPart()
    {
        
        sub_RealPart=this.A_RealPart-this.B_RealPart;
        return(sub_RealPart);
    }
    public int sub_ComplexNumber_ImagPart()
    {
        sub_ImagPart=this.A_ImagPart-this.B_ImagPart;
        return(sub_ImagPart);
    }    //乘法
    private double acc_RealPart,acc_ImagPart;
    public double acc_ComplexNumber_RealPart()
    {
        acc_RealPart=(float)((this.A_RealPart*this.B_RealPart+this.A_ImagPart+this.B_ImagPart)/(this.B_RealPart*this.B_RealPart+this.B_ImagPart*this.B_ImagPart));
        return(acc_RealPart);
     }
    public double acc_ComplexNumber_ImagPart()
    {{
        acc_ImagPart=(float)((this.B_RealPart*this.A_RealPart-this.A_RealPart*this.B_ImagPart)/(this.B_RealPart*this.B_RealPart+this.B_ImagPart*this.B_ImagPart));
        return(acc_ImagPart);
    }}    //模
    private double mod_A,mod_B;
    public double mod_ComplexNumber_A()
    {
        
        mod_A=(double)java.lang.Math.sqrt(this.A_RealPart*this.A_RealPart+this.A_ImagPart*this.A_ImagPart);
        return(mod_A);
    }
    public double mod_ComplexNumber_B()
    {
        mod_B=(double)java.lang.Math.sqrt(this.B_RealPart*this.B_RealPart+this.B_ImagPart*this.B_ImagPart);
        return(mod_B);
    }    @Override
    public String toString()
    {
        return("复数之和是:"+this.add_RealPart+"+i"+this.add_ImagPart+"\n"+
               "复数之差是:"+this.sub_RealPart+"+i"+this.sub_ImagPart+"\n"+
               "复数之积是:"+this.acc_RealPart+"+i"+this.acc_ImagPart+"\n"+
               "复数A模是:"+this.mod_A+"\n"+
               "复数B模是:"+this.mod_B);
    }
    public void printComplexNunber()
    {
        System.out.println(this.toString());
    }
}
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 *主方法
 */package complexnumber;/**
 *
 * @author Administrator
 */
public class Main {    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        Number No1=new Number();
        No1.setA_ImagPart(10);
        No1.setA_RealPart(20);
        No1.setB_ImagPart(30);
        No1.setB_RealPart(40);
        No1.printComplexNunber();
    }}/*输出:
run:
复数之和是:0+i0
复数之差是:0+i0
复数之积是:0.0+i0.0
复数A模是:0.0
复数B模是:0.0
成功生成(总时间:2 秒)
*//*求高手帮我查查什么问题,小弟在此拜谢了。*/

解决方案 »

  1.   

    要改动两个地方:1.     public Number(int A_initRealPart,int A_initImagPart,int B_initRealPart,int B_initImagPart) 
        { 
         A_RealPart = A_initRealPart;  // "="左右两边的变量名写颠倒了
         A_ImagPart = A_initImagPart; 
         B_RealPart = B_initRealPart; 
         B_ImagPart = B_initImagPart; 
        } 
    2. public class NumberMain 

        public static void main(String[] args) { 
            // TODO code application logic here 
            Number No1=new Number(); 
            No1.setA_ImagPart(10); 
            No1.setA_RealPart(20); 
            No1.setB_ImagPart(30); 
            No1.setB_RealPart(40); 
            // 下面几句是新增加的,都没有进行运算,当然输出全部是0了
            No1.acc_ComplexNumber_ImagPart();
            No1.acc_ComplexNumber_RealPart();
            No1.add_ComplexNumber_ImagNumber();
            No1.add_ComplexNumber_RealNumber();
            No1.mod_ComplexNumber_A();
            No1.mod_ComplexNumber_B();
            No1.sub_ComplexNumber_ImagPart();
            No1.sub_ComplexNumber_RealPart();
            // 以上几句是新增的        No1.printComplexNumber(); 
        } 

      

  2.   

    代码比较混乱,引用代码用java代码格式贴出来,别人也容易看。
    你这个应该是那些计算的方法都没被调用吧
    粗看一下,就是传了几个数进去,然后调用了一个toString方法打印了this.add_RealPart之类的值。
    处理变量的方法从头到尾都没调用,那变量打印出来就是初始值0。