0

所以在我的在线课程中,我必须做一些与矩形相关的事情。我对如何编辑我的主类以使其使用另一个类的方法有些困惑。

这是项目的链接,以防您不明白我要问的内容:http: //pages.eimacs.com/emacsstatics/download/apjava/project1bj.pdf

我感到困惑的部分是添加 printAPRectangle 的定义,因为我认为我做的不正确。

为三个实例变量添加访问器实例方法,然后单击 APRectangle 类编辑器窗口上的 Compile 按钮来编译您的代码并检查错误。

重新打开 MainClass 的定义,在 printAPPoint 的定义之后插入静态方法 printAPRectangle 的定义。这个方法应该这样定义,如果它被应用到左上角是坐标为(-5.0,3.6)的 APPoint 对象的 APRectangle 对象,

这是我的 APRectangle 类代码:

    public class APRectangle
   {
    private APPoint myTopLeft;
    private double  myWidth;
    private double  myHeight;

    public APRectangle( APPoint topLeft, double width, double height )
    {
        myTopLeft = topLeft;
        myWidth = width;
        myHeight = height;
    }

    public APPoint getTopLeft()
    {
        return myTopLeft;
    }

    public double getWidth()
    {
        return myWidth;
    }

    public double getHeight()
    {
        return myHeight;
    }
}

这是我的 APPoint 课程:

公共类 APPoint { 私人双 myX; 私人双myY;

public APPoint( double x, double y )  {
 myX = x;
 myY = y;  }
public double getX()   {
return myX;  }
public void setX( double x )  {
 myX = x;  }
public double getY()  {
 return myY;  }
public void setY( double y )  {
 myY = y;  } }

最后这是我的主要课程:

public class MainClass
{
 public MainClass()
 {
    }

 public static String printAPPoint( APPoint p )
 {
     return "(" + p.getX() + "," + p.getY() + ")";
    }

 public static String printAPRectangle( APRectangle R)
 {
     return "[APRectangle " + printAPPoint( +
            " " + getWidth() + "," + getHeight() + "]" ;
 }

 public static void main(String[] args)
 {
     APPoint p = new APPoint( 1.0, 2.0 );
     APRectangle R = new APRectangle( q, 7.5, 3.6);
     System.out.println( "p is " + printAPPoint( p ) );
     System.out.println( "Done!" );
  }

}

我不知道如何完成询问我如何编辑主类的部分,以及我必须输出 myTopLeft 的部分,因为它是 APPoint 而不是普通字符串。它说我必须使用 printAPPPoint 但我该如何使用它?

谢谢,罗汉

4

1 回答 1

0

为了使用 APRectangle 的方法,您必须从 APRectangle 对象中调用它们。printAPRectangle 方法接收一个名为 R 的 APRectangle 对象。您必须使用 R 并调用它的成员函数。你需要使用这些:

  • R.getTopLeft()
  • R.getWidth()
  • R.getHeight()

    public static String printAPRectangle(APRectangle R) { return "[APRectangle " + printAPPoint(R.getTopLeft) + " " + R.getWidth() + "," + R.getHeight() + "]" ; }

于 2012-07-23T01:23:13.810 回答