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); } }
楼上的这位,有错误啊, 错误提示如下: C:\>javac Square.java Square.java:14: Rect(double,double) in Rect cannot be applied to () public Square(double s){ ^ 1 error而且这也没有什么输出的, 你也可随便弄两个数,然后输出的,不然什么显示也没有的.
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个文件放
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())); } }
还是有错误: 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
{
//……
}interface EqualDiagonal
{
void getDiagonal();
}class square extends Rectangle implements EqualDiagonal
(
public void getDiagonal(){ //……
};
//……
)
实现getDiagonal的时候应该返回对角线的长度吧,return Math.sqrt(width*width+height*height)
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);
}
}
错误提示如下:
C:\>javac Square.java
Square.java:14: Rect(double,double) in Rect cannot be applied to ()
public Square(double s){
^
1 error而且这也没有什么输出的,
你也可随便弄两个数,然后输出的,不然什么显示也没有的.
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个文件放
super(s,s);
//side=s;
}
System.out.println("正方形面积为:"+String.valueOf(squ.getArea()));
有俩句写错了, ^忘记括号了,你改一下
为什么要这么复杂.你可以设置其它两个不是public 的嘛,
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()));
}
}
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
h -->heigth
w -->width
老师无非是想考察一下你对接口和继承的知识,没必要再来输出什么的