3

私の課題では、Number を拡張する階層で 5 つのクラスを作成します。2 つのパラメーターとクラスの戻り値の型を持つクラスごとに、足し算、引き算、掛け算、割り算のメソッドを作成します。

メソッドの文法は各クラスで同じです。それらはすべて、Dr. Java の対話ペインでクラッシュを引き起こし、エラーを返しません。

これを解決するにはどうすればよいですか?

public class ComplexN extends Number{
  private double value1;
  private double value2;

  public ComplexN(double real, double imaginary){
    this.value1=real;
    this.value2=imaginary;
  }

  public double getRealPart(){
    return value1;
  }

  public double getImaginaryPart(){
    return value2;
  }


  public static ComplexN add(ComplexN a, ComplexN b){
    ComplexN sum = new ComplexN((a.getRealPart()+b.getRealPart()),(a.getImaginaryPart()+b.getImaginaryPart()));
    return sum;
  }
}
4

1 に答える 1

2

教授と相談した後、私は問題を特定しました。

Dr. Java には Java 6.0 との互換性の問題があり、toString() を明示的に使用せずにオブジェクトの値を出力するとセキュリティ エラーが発生します。

だから使用:

(a.add(a,b)).toString() 

それ以外の:

a.add(a,b)

または同様に:

a.toString()

それ以外の:

a

...短期間で問題を解決します。Number の代わりに Object を拡張するクラスを使用すると、このバグにパッチが適用されます。

于 2011-11-10T02:09:31.530 に答える