大家帮我看下这是什么错误,谢谢代码:
//定义一个抽象Shape类
abstract class Shape {
int area;//面积
int perim;//周长
void getArea();
void getPerim();
}//继承Shape类,定义Rectangle类
class Rectangles extends Shape
{
int length = 3,width = 4; public void getArea(){
area = length * width;
System.out.println("Rectangle's area : " + area);
} public void getPerim(){
perim = 2 * (length + width);
System.out.println("Rectangle's area : " + perim);
}
}//继承Shape类,定义Cirle类
class Circle extends Shape
{
int r = 2;
float PI = 3.14; public void getArea(){
area = int(PI * r *r);
System.out.println("Circle's area : " + area);
} public void getPerim(){
perim = int(2 * PI * r);
System.out.println("Circle's perim : " + perim);
}
}//继承Rectangle类,定义Square类class ShapeClass
{
public static void main(String[] args){ System.out.println("Test Shape:"); Rectangles r = new Rectangles();
r.getArea();
r.getPerim(); Circle c = new Circle();
c.getArea();
c.getPerim(); // Square s = new Square();
// s.getArea();
// s.getPerim();
}
}错误提示:
---------- javac ----------
ShapeClass.java:32: 需要 ".class"
area = int(PI * r *r);
          ^
ShapeClass.java:32: 不是语句
area = int(PI * r *r);
                  ^
ShapeClass.java:32: 需要 ';'
area = int(PI * r *r);
                    ^
ShapeClass.java:37: 需要 ".class"
perim = int(2 * PI * r);
           ^
ShapeClass.java:37: 不是语句
perim = int(2 * PI * r);
                   ^
ShapeClass.java:37: 需要 ';'
perim = int(2 * PI * r);
                      ^
6 错误输出完成 (耗时: 0 秒)

解决方案 »

  1.   

    抽象类中的抽象方法也要声明 类型转换错误
    改后的为
    abstract class Shape { 
    int area;//面积 
    int perim;//周长 
    abstract void getArea(); 
    abstract void getPerim(); 
    }  //继承Shape类,定义Rectangle类 
    class Rectangles extends Shape 

    int length = 3,width = 4;  public void getArea(){ 
    area = length * width; 
    System.out.println("Rectangle's area : " + area); 
    }  public void getPerim(){ 
    perim = 2 * (length + width); 
    System.out.println("Rectangle's area : " + perim); 

    }  //继承Shape类,定义Cirle类 
    class Circle extends Shape 

    int r = 2; 
    float PI = (float) 3.14;  public void getArea(){ 
    area = (int) (PI * r *r); 
    System.out.println("Circle's area : " + area); 
    }  public void getPerim(){ 
    perim = (int) (2 * PI * r); 
    System.out.println("Circle's perim : " + perim); 

    }  //继承Rectangle类,定义Square类  class ShapeClass 

    public static void main(String[] args){  System.out.println("Test Shape:");  Rectangles r = new Rectangles(); 
    r.getArea(); 
    r.getPerim();  Circle c = new Circle(); 
    c.getArea(); 
    c.getPerim();  // Square s = new Square(); 
    // s.getArea(); 
    // s.getPerim(); 


      

  2.   


    abstract class Shape { 
    int area;//面积 
    int perim;//周长 
    void getArea(); 
    void getPerim(); 
    }你这是抽象类不是接口,抽象类中的方法不写abstract不会默认加abstract,你需要自己加上,你改为public abstract void getArea(); 
    public abstract void getPerim(); 
    试试
      

  3.   

         唉,我啥也不说了,基础实在是太那个了,好好努力吧public abstract class Shape {
    int area;// 面积 int perim;// 周长 abstract void getArea(); abstract void getPerim();
    }
    public class Circle extends Shape {
    int r = 2; static final double PI = 3.14; public void getArea() {
    double area = PI * r * r;
    System.out.println("Circle's area : " + area);
    } public void getPerim() {
    double perim = 2 * PI * r;
    ;
    System.out.println("Circle's perim : " + perim);
    }
    }
    public class Rectangles extends Shape {
    int length = 3, width = 4; public void getArea() {
    area = length * width;
    System.out.println("Rectangle's area : " + area);
    } public void getPerim() {
    perim = 2 * (length + width);
    System.out.println("Rectangle's area : " + perim);
    }}
    public class ShapeClass {
    public static void main(String[] args) { System.out.println("Test Shape:"); Rectangles r = new Rectangles();
    r.getArea();
    r.getPerim(); Circle c = new Circle();
    c.getArea();
    c.getPerim(); // Square s = new Square();
    // s.getArea();
    // s.getPerim();
    }
    }
      

  4.   

    Test Shape:
    Rectangle's area : 12
    Rectangle's area : 14
    Circle's area : 12.56
    Circle's perim : 12.56