初学者求解一道JAVA编程题!

asusxiaoqi 2008-04-11 04:57:21
定义一个矩形类,再派生出一个正方形类,自行扩充成员变量和方法.在定义接口EqualDiagonal,其中包含方法getDiagonal().在矩形类和正方形类中实现此接口. 下面是本人写的代码,没派生正方形类,请各位指出错误并更正最好贴出完整的代码,本人初学java.
class Rectangle implements EqualDiagonal{
double length;
double wide;
public Rectangle(double a,double b){
length=a;
wide=b;
}
double recPerimeter(double length,double wide){ //矩形周长

return (length+wide)*2;
}
double recArea(double length,double wide){ //矩形面积
return (length*wide);
}
public double getDiagonal(double length,double wide){ //矩形对角线长
return Math.sqrt(length*length+wide*wide);
}
}
public interface EqualDiagonal{
double getDigonal(double length,double wide);
}
class Test{
public static void main(String[] args){
Rectangle rec=new Rectangle(3.0,4.0);
rec.recArea(length,wide);
rec.recPerimeter(length,wide);
rec.getDiagonal(length,wide);
}
}
...全文
151 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
asusxiaoqi 2008-04-11
  • 打赏
  • 举报
回复
我按你的改了还是有编译错误:E:\JCreator Pro\MyProjects\Test.java:1: Rectangle 不是抽象的,并且未覆盖 EqualDiagonal 中的抽象方法 getDigonal(double,double)
class Rectangle implements EqualDiagonal
eatingbirdmiemies 2008-04-11
  • 打赏
  • 举报
回复
初学java的确应该用记事本,我也用的EditPlus2...
一开始就接触IDE对基础没帮助...
xql80329 2008-04-11
  • 打赏
  • 举报
回复
给我分吧
jayflee 2008-04-11
  • 打赏
  • 举报
回复
怀疑程序是楼主用记事本写的。用eclipse的话这二十分就可以留着不用给ls了。
eatingbirdmiemies 2008-04-11
  • 打赏
  • 举报
回复
另外,如果Test类想看结果,需要用System.out.println()打印至控制台...
我的文件名为Test.java

class Rectangle implements EqualDiagonal
{
double length;
double wide;

public Rectangle(double a, double b)
{
length = a;
wide = b;
}

double recPerimeter(double length, double wide) // 矩形周长
{
return (length + wide) * 2;
}

double recArea(double length, double wide) // 矩形面积
{
return (length * wide);
}

public double getDiagonal(double length, double wide) // 矩形对角线长
{
return Math.sqrt(length * length + wide * wide);
}
}

interface EqualDiagonal
{
double getDiagonal(double length, double wide);
}

public class Test
{
public static void main(String[] args)
{
Rectangle rec = new Rectangle(3.0, 4.0);
System.out.println("Area: " + rec.recArea(rec.length, rec.wide) );
System.out.println("Perimeter: " + rec.recPerimeter(rec.length, rec.wide) );
System.out.println("Diagonal: " + rec.getDiagonal(rec.length, rec.wide) );
}
}
eatingbirdmiemies 2008-04-11
  • 打赏
  • 举报
回复
接口EqualDiagonal或者类Test两者之一为public,以文件名为标准
EqualDiagonal.getDigonal()方法和Rectangle.getDiagonal()方法,统一一个名称,也许是拼写错误
Test类main方法中的length和wide统一改为rec.length,rec.wide

都是基础错误,加油咩 少年!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧