好的,所以我对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]符号。”
非常感谢任何帮助。我几天来一直在努力解决这个错误。感谢。
答案 0 :(得分:2)
您必须将课程Point
和Rectangle
导入课堂。在package
行后面的课程顶部添加以下两行。
import java.awt.Point;
import java.awt.Rectangle;
如果您正在使用Eclipse,那么只需执行 Ctrl Shift O ,这将为您导入所需的类。
答案 1 :(得分:1)
正如Roddy建议的那样,您需要在您所关注的教程中下载并包含Point
和Rectangle
类。如果将这些类放在与CreateObjectDemo
相同的目录中,则不需要导入语句。
正是发生了什么,编译器正在尝试将Java源代码转换为JVM(Java虚拟机)可以解释的字节代码。要编译代码,必须找到所有类。由于找不到Point
和Rectangle
类,因此您的代码无法编译。出于这个原因,类Point
和Rectangle
被称为类CreateObjectDemo
的依赖项。如果没有它们,CreateObjectDemo
将无效,它取决于Point
和Rectangle
。
修复此问题很简单,只需确保您的CreateObjectDemo
类知道Point
和Rectangle
类的位置。
答案 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类放在同一个包中,错误肯定会消失。