A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郭炜 中级黑马   /  2012-3-12 03:50  /  1458 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

下面的类表示一个矩形,请找出源代码中的错误并改正。
public class Rectangle {
private int width;
private int height;
public Rectangle() {
super(1, 1);
}
public Rectangle(int width, int height) {
this.width = width;
this.height = height;
}
public void getHeight() {
return height;
}
public void setHeight(int height) {
height = height;
}
public void getWidth() {
return width;
}
public void setWidth(int width) {
width = width;
}
public int getArea() {
this.width * this.height;
}
public double getPerimeter() {
2 * (this.width + this.height);
}
}

3 个回复

倒序浏览
super调用的的那个构造函数少两个参数,你的三个GET方法都错了,返回类型怎么能是空的呢,获得面积那个也没加瑞return,唉手机党,太不方便了
回复 使用道具 举报
public class Rectangle {
private int width;
private int height;
public Rectangle {
                          //这里写super(1,1)做什么? Rectangle类又没有继承         
}
public Rectangle(int width, int height) {
this.width = width;
this.height = height;
}
public int getHeight() {         //这里返回值类型要是int类型的,void类型返回值为空,都为空了还怎么运算?
return height;
}
public void setHeight(int height) {
this.height = height;                   //这里用this而不是在下边面积和边长方法中用
}
public int getWidth() {               //跟上边getHeight方法错误一样
return width;
}
public  int  setWidth(int width) {
this.width = width;                //同上边setHeight方法一样
}
public int getArea() {
return width * height;    //计算出结果了应该用return返回一下,this不在这里用
}
public double getPerimeter() {
return 2 * (width + height);    //同上
}
}
回复 使用道具 举报
  1. public class Rectangle {
  2.         private int width;
  3.         private int height;
  4.        
  5.         public Rectangle() {
  6.                 super(1, 1);   //默认继承的是Object,父类中没有这样的构造函数
  7.         }
  8.         public Rectangle(int width, int height) {
  9.                 this.width = width;
  10.                 this.height = height;
  11.         }
  12.         public void getHeight() {
  13.                 return height;   //返回值类型不对,应该是int
  14.         }
  15.         public void setHeight(int height) {
  16.                 height = height; //左边加this
  17.         }
  18.         public void getWidth() {
  19.                 return width;  // 返回值类型不对。
  20.         }
  21.         public void setWidth(int width) {
  22.                 width = width; //左边加this
  23.         }
  24.         public int getArea() {
  25.                 this.width * this.height; //少return语句
  26.         }
  27.         public double getPerimeter() {
  28.                  2 * (this.width + this.height); //少return语句
  29.                  
  30.         }
  31. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马