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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Forevery 中级黑马   /  2013-12-10 22:18  /  1067 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Circle{
private double radius;
public Circle(double r){
radius = r;
}
public double area;
public double getArea(double r) {
area = 3.14*r*r;
return area;
}
}

public class Ex_Circle {
public static void main(String[] args){
Circle c;
c = new Circle(1);
c.getArea();
System.out.println(c.area);
}
}
到底哪里出问题了,求解啊

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

4 个回复

倒序浏览
  1. class Circle{
  2.             private double radius;
  3.             public double area;
  4.             public Circle(double r){
  5.             radius = r;
  6.          }
  7.          public double getArea() {
  8.              area = 3.14*radius*radius;
  9.              return area;
  10.          }
  11.          }
  12.          
  13.         public class test {
  14.          public static void main(String[] args){
  15.              Circle c;
  16.              c = new Circle(1);
  17.              c.getArea();
  18.              System.out.println(c.area);
  19.            }
  20.          }
复制代码
你的getArea定义的是待参数的,可是调用时使用的是不带参数的。当然错误了。还有一些编程习惯的问题,不过这行在以后的编程中会慢慢意识到的。加油啊!
修改的代码如下

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 发哥-阿花 于 2013-12-10 23:01 编辑

这个Ex_Circle类用public修饰了,故源文件名也应该是Ex_Circle
而不是Circle;
1、保存都时候应该是Ex_Circle.java
2、调用有参的方法时,需要传入相应类型的参数。
注释部分就是你的错误所在。/*
这个Ex_Circle类用public修饰了,故源文件名也应该是Ex_Circle
  1. /*
  2. 这个Ex_Circle类用public修饰了,故源文件名也应该是Ex_Circle
  3. 而不是Circle;
  4. */
  5. public class Ex_Circle {
  6. public static void main(String[] args){
  7.   Circle c;
  8.   c = new Circle(1);
  9.   //c.getArea(); //调用这个方法时需要传递一个double类型的参数
  10.   c.getArea(2);
  11.   System.out.println(c.area);
  12. }
  13. }
复制代码


评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

回复 使用道具 举报
你是谁?1130的?正好今天刚讲的面积,估计你是我们班的……
回复 使用道具 举报
如果想调用无参的getArea()方法,要重载一个哦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马