实现扩展Rectangle类的子类Square

//实现扩展Rectangle类的子类Square。 在构造函数中,接受中心的x和y位置以及正方形的边长。 调用Rectangle类的setLocation和setSize方法。 在Rectangle类的文档中查找这些方法。 另外提供一个方法getArea来计算和返回正方形的面积。 写一个示例程序,询问中心和边长,然后打印出正方形(使用从矩形继承的toString方法)和正方形区域。

//好的...所以这是最后一分钟,但我不明白我的代码有什么问题,它给了我方块无法解析为类型的错误......所以这里是我的类:

    import java.awt.Rectangle;


 public class Squares22 extends Rectangle 
{


public Squares22(int x, int y, int length) {
    setLocation(x - length / 2, y - length / 2);
    setSize(length, length);
}

public int getArea() {
    return (int) (getWidth() * getHeight());
}

public String toString() {
    int x = (int) getX();
    int y = (int) getY();
    int w = (int) getWidth();
    int h = (int) getHeight();
    return "Square[x=" + x + ",y=" + y + ",width=" + w + ",height=" + h
           + "]";
}
}

//And this is my tester class...

import java.util.Scanner;

public class Squares22Tester

  {
   public static void main(String[] args) 
  {

Scanner newScanx =  new Scanner(System.in);
Scanner newScany =  new Scanner(System.in);
Scanner newScanl =  new Scanner(System.in);


System.out.println("Enter x:");
String x2 = newScanx.nextLine();
System.out.println("Enter y:");
String y2 = newScany.nextLine();
System.out.println("Enter length:");
String l2 = newScanl.nextLine();

int x = Integer.parseInt(x2);
int y = Integer.parseInt(y2);
int length = Integer.parseInt(l2);

  Square sq = new Square(x, y, length); 
  System.out.println(sq.toString()); 

  }
}

//任何人都可以请帮助我的任务在午夜时间到期..它表示在compliling时无法将square放到测试仪类的类型上。


Square不是你班级的名字。 班级的名字是'Squares22'。 这就是为什么'Square'无法被识别的原因。 将Square中的Square更改为Squares22 ,反之亦然。 这应该可以解决你的问题。

链接地址: http://www.djcxy.com/p/83249.html

上一篇: Implement a subclass Square that extends the Rectangle class

下一篇: using getX() getY() in a mouseclick