陷入学校的这个编程问题

时间:2019-03-04 00:48:49

标签: java cannot-find-symbol

我正在为学校编写一个简单的Java程序。我似乎无法理解为什么我得到Error: Cannot Find Symbol

这是整个代码,底部有错误。

code + error
(点击图片放大)

3 个答案:

答案 0 :(得分:1)

您需要了解scope的概念。仅仅因为您在程序中的某个位置定义了一个变量(例如RAD),并不意味着该变量在其他位置(例如“ getRadius()”)可用。

例如:

public class Circle extends Shape {

  private double radius;
  ...
  public double getRadius() { return radius; }
  ...

之所以可行,是因为我已将“半径”定义为member variable。在这个类对象的任何地方都可以看到“半径”,而在其外部则完全不可用。

scope的一个例子。

答案 1 :(得分:0)

在方法getRadius()中,您将返回本地方法中未定义的变量RAD作为参数,并且它不是类变量,因此该方法中RAD是未知的。

我想您要的是“返回半径”,而不是“返回RAD”。

答案 2 :(得分:0)

在方法getRadius的范围内未声明RAD。您应该返回radius,而不是RAD。代码中的另一个观察结果,circle()被定义为方法,而它应该是构造函数。