
哪位 帮忙修改一下 这个非常非常非常简单的Java程序
interfaceShapeArea{doublegetPerimeter();}classMyRectangleimplementsShapeArea{doublewi...
interface ShapeArea{
double getPerimeter();
}
class MyRectangle implements ShapeArea{
double width;
double height;
MyRectangle(double w,double h){
width=w;
height=h;
}
public double getPerimeter(){
double p;
p=2*(width+height);
return p;
}
double display(){
getPerimeter();
System.out.println("width="+width+",height="+height+",preimeter="+p);//这里报告p出错了
}
}
public class Test {
public static void main(String[] args){
MyRectangle v=new MyRectangle(1.0,2.0);
v.display();
}
}
哪位能告诉我为什么会错呢 怎么修改呢 展开
double getPerimeter();
}
class MyRectangle implements ShapeArea{
double width;
double height;
MyRectangle(double w,double h){
width=w;
height=h;
}
public double getPerimeter(){
double p;
p=2*(width+height);
return p;
}
double display(){
getPerimeter();
System.out.println("width="+width+",height="+height+",preimeter="+p);//这里报告p出错了
}
}
public class Test {
public static void main(String[] args){
MyRectangle v=new MyRectangle(1.0,2.0);
v.display();
}
}
哪位能告诉我为什么会错呢 怎么修改呢 展开
3个回答
展开全部
void display() { getPerimeter(); System.out.println("width=" + width + ",height=" + height + ",preimeter=" + getPerimeter());// 这里报告p出错了 }
修改一下这个方法 display 返回值不要设置为double 改成void
然后把p修改为计算周长的方法getPerimeter()
修改一下这个方法 display 返回值不要设置为double 改成void
然后把p修改为计算周长的方法getPerimeter()
展开全部
double display(){ getPerimeter();System.out.println("width="+width+",height="+height+",preimeter="+p);//这里报告p出错了}你在这里定义的是一个有返回值的方法,而你却没有返回,改成void就可以了
对了 还有P 你的P是在上一个方法里面定义的 这个方法就用不了了 你可以把P换成 getPerimeter()
对了 还有P 你的P是在上一个方法里面定义的 这个方法就用不了了 你可以把P换成 getPerimeter()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
double p; 你定义成局部变量了,只在getPerimeter()当参数用,并不是全局变量。
double width;
double height;double p;
double width;
double height;double p;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询