//实现扩展Rectangle类的子类Square。在构造函数中, 接受中心的x和y位置以及正方形的边长。打电话给 Rectangle类的setLocation和setSize方法。在中查找这些方法 Rectangle类的文档。还提供了一个计算getArea的方法 并返回广场的面积。写一个要求中心的示例程序 和边长,然后打印出方形(使用你的toString方法 继承自Rectangle)和广场的面积。
//好的......所以这是最后一分钟,但是我不明白我的代码有什么问题,它给我的错误是square无法解析为某个类型...所以这是我的类:
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时无法解析为测试者类的类型....
答案 0 :(得分:0)
Square不是你班级的名字。该类的名称是'Squares22'。这就是“Square”无法识别的原因。
将测试中的Square
更改为Squares22
,反之亦然。这应该可以解决您的问题。