我对 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() 方法以他想要的方式输出。谢谢。