Java 不断收到我程序的错误代码,有人能看一下吗?
运行我的程序时,出现以下错误:Java 不断收到我程序的错误代码,有人能看一下吗?,java,Java,运行我的程序时,出现以下错误: Exception in thread "main" java.lang.Error: Unresolved compilation problem: at CylinderTest.main(Cylinder.java:42) 我相信有一个简单的解决方案,但我是一个经验不足的程序员,对我来说,它似乎应该工作 程序描述:编写一个名为CylinderTest.java的类并声明 三个圆柱体对象的数组,用于调用在中声明的方法 气缸类。确保从调用所有类方法 mai
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
at CylinderTest.main(Cylinder.java:42)
我相信有一个简单的解决方案,但我是一个经验不足的程序员,对我来说,它似乎应该工作
程序描述:编写一个名为CylinderTest.java的类并声明
三个圆柱体对象的数组,用于调用在中声明的方法
气缸类。确保从调用所有类方法
main()。让main()显示volume()返回的值并验证
手工计算的返回值(纸/笔)。提示用户
输入每个圆柱体对象的半径和高度值的步骤
在数组中
public class Cylinder
{
private double radius;
private double height;
public Cylinder(double radius, double height)
{
this.radius = radius;
this.height = height;
}
public double getRadius()
{
return radius;
}
public double getHeight()
{
return height;
}
public double volume()
{
return radius*radius*height*3.1416;
}
}
public class CylinderTest
{
public static void main(String[] args)
{
Cylinder[] myCylinder = new Cylinder[3];
myCylinder [0] = new Cylinder (2,7);
myCylinder [1] = new Cylinder (9,3);
myCylinder [2] = new Cylinder (12,4);
for (Cylinder c: myCylinder)
{
System.out.println("*******");
System.out.println("Radius: " + c.getRadius());
System.out.println("Height: " + c.getHeight());
System.out.println("Volume: " + c.volume());
System.out.println("*******");
}
}
}
线程“main”java.lang中出现异常。错误:未解析编译
问题:
位于CylinderTest.main(Cylinder.java:42)
由于
Cylinder.java
文件中第42行存在错误,无法编译您的类Cylinder
,这是因为您在一个文件中有两个单独的公共类。将CylinderTest拆分为自己的文件。通常,使用目录结构分隔测试类是很有用的:
src
main
java
test
java
您还应该为Cylinder(比如)org.me创建一个包名
在这种情况下,两个类都应该有
package org.me;
在顶端
您应该使用IDE(如Eclipse或Netbeans),这会在您尝试运行它之前告诉您存在编译错误。一般来说,在有错误的情况下运行程序是一个糟糕的主意,并且通常很难知道发生了什么和发生了什么。但是Eclipse通常会提供一个stacktrace,它将链接到有问题的行。Woot4Moo已经解释了异常的直接原因。基本上,您不能运行使用有编译错误的类的程序。在尝试运行程序之前修复所有编译错误:
- 如果在Eclipse中访问该文件,则编译错误应标记为红色
- 您可以将Eclipse配置为在工作区中存在编译错误时不允许运行代码
public
类。在Java中无法做到这一点。非嵌套的public
类必须位于单独的源文件中。(使用“包私有”类可以避免这种情况,但这是一种不好的做法。)
修复方法是将Cylinder和CylinderTest类放在单独的源文件中
(理想情况下,您还应该添加包声明,但我猜您的讲师还没有向您解释。)愚蠢的问题,但在运行eclipse时,有没有办法在代码左侧显示行号?@user1798926
“Windows”>“Preference”>“General”>“Editors”>“Text Editors”,请查看“显示行号”选项。
以及由于以下原因而进行的向下投票?谢谢您的指导,这将帮助我解决未来的问题。我的问题是创建一个单独的类文件,而不是尝试将它们合并。一个新手的错误。这是StackOverflow的一部分。我自己也犯了同样的错误!。注意,在我的回答中,我假设CylinderTest是测试框架的一部分(例如使用Junit)。如果org.junit.断言您得到的答案是您计算的答案,这将是一个有用的练习(请记住,您无法精确比较双倍-您需要包含一个小的误差范围)。谢谢大家,事实上,问题是一个简单的修复方法,只需在Eclipse中创建一个新类,而不是尝试将其合并到一个文件中。新手犯的错误。谢谢大家的帮助,非常感谢。请在此处查看接受的答案: