首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

菜鸟都快把头发挠没了 向众人请问

2012-01-29 
初学者都快把头发挠没了 向众人请教//若有一个接口A说明一个面积方法area(),//interfaceA{//publicdoublea

初学者都快把头发挠没了 向众人请教
//若有一个接口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);
}

}

[解决办法]
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);
}

}

[解决办法]
刚才的程序有点问题:

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);
}

}

[解决办法]
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();
}

}

//计算三角形的面积我不记得了......不知道对不对
[解决办法]

如果算法不对,就改一下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);

[解决办法]
yes,是要/2的...
[解决办法]
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();
}
}


[解决办法]
接口里的方法和实现类的方法参数要保持一致

就比如说: public void test(int a)
public void test(double a)
public void test()
这里是3个不同的方法,你调用方法的时候传的参数不一样,用到的方法也会不一样
[解决办法]
实现类中的方法要和所实现的接口中的方法签名一致才可以,你接口中声明的是无参 area()方法,而类中是带三个参数的方法,所以出现的错误应该是提示你没有实现接口中的方法。
[解决办法]

热点排行