定义一个矩形类...

like_java 2005-02-23 01:19:05
这个问题帮我看看,是要我做什么,这是我的一个实验题目:

定义一个矩形类,再定义接口EqualDiagonal,其中包含方法getDiagonal():由矩形类派生出珍上正方形类,自行扩充成员变量和方法,并实现此接口 Equaldiagonal。

帮我想想这个实验要我做什么,这里应该有好多Java高手的吧,帮帮忙...
...全文
1359 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
qnzzzz 2005-02-24
  • 打赏
  • 举报
回复
我刚调试了一下,也通过了
like_java 2005-02-24
  • 打赏
  • 举报
回复
通过了,谢谢.
龙宜坡 2005-02-24
  • 打赏
  • 举报
回复
yuppiegz()写的代码我想足够交差了,同志
老师无非是想考察一下你对接口和继承的知识,没必要再来输出什么的
qnzzzz 2005-02-24
  • 打赏
  • 举报
回复
呵呵 不好意思 犯了低级错误
改了应该没问题了把?
like_java 2005-02-24
  • 打赏
  • 举报
回复
这个错误被我修改好,
h -->heigth
w -->width
like_java 2005-02-24
  • 打赏
  • 举报
回复
还是有错误:
C:\>javac Square.java
.\Rect.java:9: cannot resolve symbol
symbol : variable h
location: class Rect
return h*w;
^
.\Rect.java:9: cannot resolve symbol
symbol : variable w
location: class Rect
return h*w;
^
2 errors
qnzzzz 2005-02-24
  • 打赏
  • 举报
回复
public class Rect{
public double height=0;
public double width=0;
public Rect(double h,double w){
height=h;
width=w;
}
public double getArea(){
return h*w;
}
}
public interface EqualDiagonal{
double getDiagonal();
}
public class Square extends Rect implements EqualDiagonal{
public double side=0;
public Square(double s){
super(s,s);
side=s;
}
public double getDiagonal(){
return Math.sqrt(side*side+side*side);
}
public static void main(String[] args) {
Rect rect=new Rect(10.0,20.0);
Square squ=new Square(20.0);
System.out.println("矩形面积为:"+String.valueOf(rect.getArea()));
System.out.println("正方形面积为:"+String.valueOf(squ.getArea()));
System.out.println("正方形对角线为:"+String.valueOf(squ.getDiagonal()));
}
}
like_java 2005-02-24
  • 打赏
  • 举报
回复
为什么老是通不过的啊,
like_java 2005-02-24
  • 打赏
  • 举报
回复
因为是3个类 你要分3个文件放
为什么要这么复杂.你可以设置其它两个不是public 的嘛,
qnzzzz 2005-02-24
  • 打赏
  • 举报
回复
哦 对还有super(s,s);
qnzzzz 2005-02-24
  • 打赏
  • 举报
回复
System.out.println("矩形面积为:"+String.valueOf(rect.getArea()));
System.out.println("正方形面积为:"+String.valueOf(squ.getArea()));
有俩句写错了, ^忘记括号了,你改一下
vgvg 2005-02-24
  • 打赏
  • 举报
回复
public Square(double s){
super(s,s);
//side=s;
}
qnzzzz 2005-02-24
  • 打赏
  • 举报
回复
public class Rect{
public double height=0;
public double width=0;
public Rect(double h,double w){
height=h;
width=w;
}
public double getArea(){
return h*w;
}
}
public interface EqualDiagonal{
double getDiagonal();
}
public class Square extends Rect implements EqualDiagonal{
public double side=0;
public Square(double s){
side=s;
}
public double getDiagonal(){
return Math.sqrt(side*side+side*side);
}
public static void main(String[] args) {
Rect rect=new Rect(10.0,20.0);
Square squ=new Square(20.0);
System.out.println("矩形面积为:"+String.valueOf(rect.getArea));
System.out.println("正方形面积为:"+String.valueOf(squ.getArea));
System.out.println("正方形对角线为:"+String.valueOf(squ.getDiagonal()));
}
}
因为是3个类 你要分3个文件放
like_java 2005-02-23
  • 打赏
  • 举报
回复
楼上的这位,有错误啊,
错误提示如下:
C:\>javac Square.java
Square.java:14: Rect(double,double) in Rect cannot be applied to ()
public Square(double s){
^
1 error

而且这也没有什么输出的,
你也可随便弄两个数,然后输出的,不然什么显示也没有的.
qnzzzz 2005-02-23
  • 打赏
  • 举报
回复
public class Rect{
public double height=0;
public double width=0;
public Rect(double h,double w){
height=h;
width=w;
}
}
public interface EqualDiagonal{
double getDiagonal();
}
public class Square extends Rect implements EqualDiagonal{
public double side=0;
public Square(double s){
side=s;
}
public double getDiagonal(){
return Math.sqrt(side*side+side*side);
}
}
like_java 2005-02-23
  • 打赏
  • 举报
回复
好像什么也没做的,
实现getDiagonal的时候应该返回对角线的长度吧,return Math.sqrt(width*width+height*height)
like_java 2005-02-23
  • 打赏
  • 举报
回复
楼上的,你的这段程序,什么也没输出哦,
老师那怎么验收呢.
晕...
yuppiegz 2005-02-23
  • 打赏
  • 举报
回复
class Rectangle
{
//……
}

interface EqualDiagonal
{
void getDiagonal();
}

class square extends Rectangle implements EqualDiagonal
(
public void getDiagonal(){ //……
};
//……
)
like_java 2005-02-23
  • 打赏
  • 举报
回复
定义一个矩形类,再定义接口EqualDiagonal,其中包含方法getDiagonal():由矩形类派生出一个正方形类,自行扩充成员变量和方法,并实现此接口 Equaldiagonal。

62,615

社区成员

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

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