私は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() メソッドを使用して彼が望む方法で出力することになっているのかについて、私は完全に迷っています。ありがとう。