错误:找不到符号

时间:2013-07-29 01:17:59

标签: java

好的,所以我对Java很新,而且我之前没有编程经验。我正在阅读Java教程,一切顺利,直到我在教程的“对象”部分遇到问题。

程序的标题是Create Object Demo。目标是找到一个矩形的宽度,高度和面积,以及另一个矩形的新位置。您可以使用“创建对象”的前提来完成所有这些操作。创建对象部分是问题所在。

这是原始代码:

public class CreateObjectDemo {

public static void main(String[] args) {

    // Declare and create a point object and two rectangle objects.
    Point originOne = new Point(23, 94);
    Rectangle rectOne = new Rectangle(originOne, 100, 200);
    Rectangle rectTwo = new Rectangle(50, 100);

    // display rectOne's width, height, and area
    System.out.println("Width of rectOne: " + rectOne.width);
    System.out.println("Height of rectOne: " + rectOne.height);
    System.out.println("Area of rectOne: " + rectOne.getArea());

    // set rectTwo's position
    rectTwo.origin = originOne;

    // display rectTwo's position
    System.out.println("X Position of rectTwo: " + rectTwo.origin.x);
    System.out.println("Y Position of rectTwo: " + rectTwo.origin.y);

    // move rectTwo and display its new position
    rectTwo.move(40, 72);
    System.out.println("X Position of rectTwo: " + rectTwo.origin.x);
    System.out.println("Y Position of rectTwo: " + rectTwo.origin.y);
}
}

我运行程序,这是我的错误消息:

CreateObjectDemo:.java:6: error: cannot find symbol
       Point originOne = new Point(23, 94);
       ^ 

symbol: class Point
location: class CreateObjectDemo
CreatObjectDemo.java:6: error: cannot find symbol
    Point originOne = new Point(23, 94);
                          ^

完整的代码和流程也位于here

同样,错误消息以相同的方式指向单词“Point”和“Rectangle”,并声称它“找不到[the]符号。”

非常感谢任何帮助。我几天来一直在努力解决这个错误。感谢。

4 个答案:

答案 0 :(得分:2)

您必须将课程PointRectangle导入课堂。在package行后面的课程顶部添加以下两行。

import java.awt.Point;
import java.awt.Rectangle;

如果您正在使用Eclipse,那么只需执行 Ctrl Shift O ,这将为您导入所需的类。

答案 1 :(得分:1)

正如Roddy建议的那样,您需要在您所关注的教程中下载并包含PointRectangle类。如果将这些类放在与CreateObjectDemo相同的目录中,则不需要导入语句。

正是发生了什么,编译器正在尝试将Java源代码转换为JVM(Java虚拟机)可以解释的字节代码。要编译代码,必须找到所有类。由于找不到PointRectangle类,因此您的代码无法编译。出于这个原因,类PointRectangle被称为类CreateObjectDemo的依赖项。如果没有它们,CreateObjectDemo将无效,它取决于PointRectangle

修复此问题很简单,只需确保您的CreateObjectDemo类知道PointRectangle类的位置。

答案 2 :(得分:0)

对于CreateObject Demo,教程中还有另外两个类需要放在与demo相同的目录中:Point Class和Rectangle Class。它们在演示代码中描述了几段。

所以在netbeans和eclipse中,将它们放在与CreateObjectDemo.java相同的目录中。

所以在netbeans中,转到File-> New File-> Java-> Java Class-> Class Name:Point etc

您无需导入任何内容。

希望这有帮助。

答案 3 :(得分:0)

本教程不学习GUI,只是展示如何使用方法计算矩形区域,因此无需在CreateObjectDemo.class中导入java.awt。只需确保Point和Rectangle类与CreateObjectDemo类放在同一个包中,错误肯定会消失。