&引用;找不到符号“;java代码
我很难找出我的代码有什么问题。我在同一个目录中创建了两个不同的文件,但我一直收到这个错误。谢谢你的洞察力 第一个文件是:&引用;找不到符号“;java代码,java,Java,我很难找出我的代码有什么问题。我在同一个目录中创建了两个不同的文件,但我一直收到这个错误。谢谢你的洞察力 第一个文件是: public class CircleDriver{ public static void main (String[] args){ Circle aCircle = new Circle(); aCircle.setColor("green"); aCircle.setRadius(10); aCi
public class CircleDriver{
public static void main (String[] args){
Circle aCircle = new Circle();
aCircle.setColor("green");
aCircle.setRadius(10);
aCircle.display();
Double circleArea = aCircle.computeArea();
Double circumference = aCircle.computeCircumference();
System.out.println("circle area: " + circleArea);
System.out.println("circle circumference: " + circumference);
System.out.println();
}
}
第二个文件是:
public class Circle{
public double circumference;
public double PI = 3.14159;
public double radius;
public double area = 0;
public String color = "";
public void setColor(String newColor){
color = newColor;
}
public void setRadius(double newRadius){
radius = newRadius;
}
public void display(){
System.out.println("I am a circle");
System.out.println("my color is " + color);
System.out.println("my radius is " + radius);
}
public double computeArea(){
return PI * radius * radius;
}
public double computeCircumference(){
return 2 * PI * radius;
}
}
当我尝试编译第一个文件时,我在命令提示符下得到:
CircleDriver.java:3: error: cannot find symbol
Circle aCircle = new Circle();
^
symbol: class Circle
location: class CircleDriver
CircleDriver.java:3: error: cannot find symbol
Circle aCircle = new Circle();
^
symbol: class Circle
location: class CircleDriver
`2 errors
它们应该在相同的包中。如果没有,则必须导入带有完整限定名(带有包名)的
圆圈
类
对于eclipse,它编译所有必需的文件。在使用命令行时,请确保编译Circle.java
和CircleDriver.java
,如下所示:
javac -cp . Circle.java CircleDriver.java
您首先编译第一个文件,这意味着第二个文件循环尚未编译。请先编译第二个目录,再编译第一个目录。是否将目录标记为源文件夹?它们也在同一个包裹里吗?如果不是,则应使用导入。 我已经在同一个包中复制了您的类,它运行良好。输出为:
I am a circle
my color is green
my radius is 10.0
circle area: 314.159
circle circumference: 62.8318
您的代码看起来很好,因此我假设文件在不同的包中,或者编译器无法看到
Circle.java
类
第一个问题的解决方案是:
package com.mycompany.myapp;
)Import path.to.circle.clazz.circle代码>
path.to.Circle=新路径.to.Circle()代码>
如果是编译器,则需要使用javac命令同时编译这两个类:
javac-cp。java
类是否在同一个包中?如果没有,您需要将Circle
导入CircleDriver
。它不允许我编译第一个文件。这就是我努力想弄明白的。为什么要投否决票?这是新手提出的一个好问题。我已经试过了,但仍然不起作用。我甚至清理了我的文件夹,以确保旧版本不会被指向。我再次启动并尝试重新编译第二个文件,然后是第一个文件。同样的问题。尝试同时编译这两个文件。javac Circle.java CircleDriver.javac谢谢。这种方法奏效了。我真的很感谢你的帮助。