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 回答