请JAVA高手帮我修改一下

来源:百度知道 编辑:UC知道 时间:2024/05/03 19:51:07
设计一个类层次,定义一个抽象类--形状,其中包括有求形状的面积的抽象方法。继承该抽象类定义三个类:三角型、矩形、圆。 再定义一个以你的名字全拼为名的测试类,分别创建一个三角形、矩形、圆存入一个数组中,将数组中各类图形的面积输出。

import java.util.*;
import java.math.*;

abstract class Shapes{
abstract String getArea(){};
}

class Triangle extends Shapes{
int setABC(int a,int b,int c){
int p;
p = (a+b+c)/2;
s = sqrt(p*(p-a)*(p-b)*(p-c));
}

String getArea(){
return "The Triangle's area is:"+ s ;
}
}

class Square extends Shapes{
int setAB(int a,int b){
s = a*b;
}

String getArea(){
return "The Square's area is:"+ s ;
}
}

class Circle extends Shapes{
int setR(int r){
final double pai = 3.14;
double s = pai*r*r;
}

String getArea(){
return "The Circle's area is:"+ s ;
}
}

public class Lxc{
public static void main(String args[]){
int s;

abstract class Shapes {
    protected double s;//s应定义成父类的属性
    abstract String getArea();//声明为abstract的方法不能有方法体
}

class Triangle extends Shapes {
    void setABC(int a, int b, int c) {//setXXX方法不应该有返回值
        int p;
        p = (a + b + c) / 2;
        s = Math.sqrt(p * (p - a) * (p - b) * (p - c));//sqrt方法的调用少了Math类的声明
    }

    String getArea() {
        return "The Triangle's area is:" + s;
    }
}

class Square extends Shapes {
    void setAB(int a, int b) {//setXXX方法不应该有返回值
        s = a * b;
    }