//若有一个接口A说明一个面积方法area(),  //  interface A {    //   public double area();    //}//请设计一个三角形类GCLass实现接口A中的area()方法,GClass构造函数的参数为三边长s1、s2、s3,均为整数。
//上面是题目要求,下面是写的一段程序 可是老不对 请CSDN帮忙import java.math;interface A
{
public double area();
}class GClass1 implements A
{
public double area(int a,int b,int c)
{
double a1,s;
a1 = (a + b + c) / 2;
s=Sqr(s * (s - a) * (s - b) * (s - c));
System.out.println("面积是:"+s); 
} public static void main(String args[])
{
GClass s0=new GClass();
s0.area(3,5,7);
}}

解决方案 »

  1.   

    package com;interface A { public double area(int a, int b, int c);
    }class GClass1 implements A { public double area(int a, int b, int c) { double a1 = 0, s = 0;
    a1 = (a + b + c);
    s = Math.sqrt((a1 * (a1 - a) * (a1 - b) * (a1 - c)));
    System.out.println("面积是:" + s);
    return s;
    } public static void main(String args[]) { GClass1 s0 = new GClass1();
    s0.area(3, 5, 7);
    }}
      

  2.   

    刚才的程序有点问题:package com;interface A { public double area(int a, int b, int c);
    }class GClass1 implements A { public double area(int a, int b, int c) { double a1 = 0, s = 0;
    a1 = (double) (a + b + c) / 2;
    s = Math.sqrt(a1 * (a1 - a) * (a1 - b) * (a1 - c));
    System.out.println("面积是:" + s);
    return s;
    } public static void main(String args[]) { GClass1 s0 = new GClass1();
    s0.area(3, 5, 7);
    }}
      

  3.   

    import java.math;interface A
    {
    public double area();
    }class GClass1 implements A
    {
      int s1,s2,s3;
      GCLass1(int a,int b,int c)
      {
          s1=a;
          s2=b;s3=c;
       }
    public double area()
    {
    double a1,s;
    a1=s=0.0;
    a1 = (a + b + c);
    s = Math.sqrt((a1 * (a1 - s1) * (a1 - s2) * (a1 - s3)));
    System.out.println("面积是:"+s); 
    }public static void main(String args[])
    {
    GClass s0=new GClass(3,5,7);
    s0.area();
    }}//计算三角形的面积我不记得了......不知道对不对
      

  4.   


    如果算法不对,就改一下area()里的算法.好像是要/2的吧double a1,s;
    a1=s=0.0;
    a1 = (a + b + c)/2;//========>是不是要/2的呢
    s = Math.sqrt((a1 * (a1 - s1) * (a1 - s2) * (a1 - s3)));
    System.out.println("面积是:"+s); 
      

  5.   

    AWUSOFT(程序设计,一个字:爽!)
    楼主给他结贴吧..人家很辛苦的帮写代码的
      

  6.   

    AWUSOFT(程序设计,一个字:爽!) 
    我感觉他写得挺对的,楼主呀,结了吧
      

  7.   

    interface A {
        public double area();
    }
    public class GClass1 implements A {
        int a, b, c;
        //初始化赋值
        public GClass1(int a, int b, int c) {
            this.a = a;
            this.b = b;
            this.c = c;
        }
        //重写 area() 方法 重写时要求 返回值 方法名称 参数个数 都要与接口的方法一样
        public double area() {
            double a1, s;
            a1 = (a + b + c) / 2;
            s = Math.sqrt(a1 * (a1 - a) * (a1 - b) * (a1 - c));
            System.out.println("面积是:" + s);
            return s;
        }
        //测试调用
        public static void main(String args[]) {
            GClass1 s0 = new GClass1(3, 4, 5);
            s0.area();
        }
    }
      

  8.   

    接口里的方法和实现类的方法参数要保持一致就比如说:  public void test(int a)
               public void test(double a)
               public void test()
    这里是3个不同的方法,你调用方法的时候传的参数不一样,用到的方法也会不一样
      

  9.   

    实现类中的方法要和所实现的接口中的方法签名一致才可以,你接口中声明的是无参 area()方法,而类中是带三个参数的方法,所以出现的错误应该是提示你没有实现接口中的方法。
      

  10.   

    楼主你接口里的方法是: public double area();
    那么类里面重写方法也必须是: public double area();
    但是你写的是: public double area(int a,int b,int c)
    它在接口里自然找不到这个方法.而且:
    class GClass1 implements A
    GClass s0=new GClass();
    你写的类名为GClass1,但是定义的s0却是GClass的对象