0

私はJavaの初心者で、 toString() メソッドを実装するように求める割り当てに問題があります。この質問は、「回路内の完全な抵抗ネットワークと回路全体の抵抗を文字列として返すメソッド toString() を作成する」ことを求めています。たとえば、次のコードの実行:

SeriesCircuit s1 = new SeriesCircuit ( new Circuit( 2 ), new Circuit ( 3 ) );
ParallelCircuit p1 = new ParallelCircuit ( s1, new Circuit( 4 ) );
SeriesCircuit s2 = new SeriesCircuit ( p1, new Circuit( 1 ) );
ParallelCircuit p2 = new ParallelCircuit ( s2, new Circuit( 8 ) );
System.out.println( p2 + " = " + p2.getResistance() );

次の出力が得られます: ( ( ( ( 2.0 + 3.0 ) || 4.0 ) + 1.0 ) || 8.0 ) = 2.29702. プラス (+) は系列を表し、|| 平行を表す」

これまでのところ、SeriesCircuit 用に 2 つのサブクラスを作成しました。

public class SeriesCircuit extends Circuit
{
      public Circuit a;
      public Circuit b;

    public double getResistance()
    {
        return resistance();
    }



    public SeriesCircuit(Circuit a, Circuit b)
    {
          this.a = a;
          this.b = b;
    }

    public double resistance() 
    {
           double rs1 =  a.resistance() + b.resistance();
           return rs1;
    }
}

パラレル用の別のもの

public class ParallelCircuit extends Circuit
{

       public Circuit a;
       public Circuit b;

    public double getResistance()
    {
        return resistance();
    }



    public ParallelCircuit(Circuit a, Circuit b)
    {
          this.a = a;
          this.b = b;

    }

    public double resistance() 
    {
           double R1 = a.resistance();
           double R2 = b.resistance();
           double rp1 = 1.0 / (1.0 / R1  +  1.0 / R2);
           return rp1;
    }

}

サーキットクラスにいる間、私は現時点ではあまり進んでいません:

public class Circuit 
{


    public double resistance() 
    {
        return resistance();
    }


    public static void main(String[] args) 
    {


    }

}

基本的に、教授が提供したコードを実行するためにどのように取得し、 toString() メソッドを使用して彼が望む方法で出力することになっているのかについて、私は完全に迷っています。ありがとう。

4

2 に答える 2

1

メソッドを記述する必要があるクラスで、次toString()を試してください。

public String toString()
{
    String result = //build your string with whatever needs to be output
    return result;
}

残りの宿題については... もっと努力して、より具体的な質問をして戻ってくる必要があります。

于 2013-10-08T01:19:13.743 に答える
0

チップ:

  • すべてのクラスには独自のtoString()メソッドが必要です。
  • 子クラスは、多くの場合、親のtoString()結果を独自のtoString()結果の一部として使用できます。
  • ArrayList やコンポーネントの配列など、構成によって他のオブジェクトを保持するクラスは、多くの場合toString()、独自の で保持するコンポーネントからの結果を使用しますtoString()。このようにして、複雑な有益な文字列を単純なコードで返すことができます。
于 2013-10-08T01:20:50.003 に答える