对于这么简单的问题感到抱歉,但我刚开始使用Java而且我还没有能够解决这个问题。我直接从书中复制了这段代码,但它没有成功运行。我正在使用NetBeans。我得到了类和Vehicle和Class VehicleDemo类旁边的红灯说 "重复类:javaapplication3.Vehicle。"文件名是JavaApplication3。输出是这样的:
错误:发生了JNI错误,请检查您的安装并重试 线程" main"中的例外情况java.lang.IncompatibleClassChangeError:javaapplication3.Vehicle和javaapplication3.Vehicle $ VehicleDemo不同意InnerClasses属性
package javaapplication3;
/**
*
* @author cs
*/
class Vehicle {
int passengers;
int fuelcap;
int mpg;
}
class VehicleDemo {
public static void main(String[] args) {
Vehicle minivan = new Vehicle();
int range;
minivan.passengers = 7;
minivan.fuelcap = 16;
minivan.mpg = 21;
range = minivan.fuelcap * minivan.mpg;
System.out.println("Minivan can carry " + minivan.passengers + " with a range of " + range);
}
}
答案 0 :(得分:1)
文件名是JavaApplication3
1)文件名必须是VehicleDemo.java
2)class VehicleDemo {
应为public class VehicleDemo {
由于您的软件包名称是“JavaApplication3”,因此您的文件夹必须是“JavaApplication3”,但是如果您在其中创建了一个项目并通过向导给出了软件包名称,NetBeans会负责处理它。
答案 1 :(得分:0)
删除此行:
private class Listener implements ActionListener {
public void actionPerformed(ActionEvent action) {
if(getBackground().equals(Color.RED))
setBackground(Color.GREEN);
else if(getBackground().equals(Color.GREEN))
setBackground(Color.BLUE);
else if(getBackground().equals(Color.BLUE))
setBackground(Color.GRAY);
else
setBackground(Color.RED);
}
}
或只是把//评论这一行
答案 2 :(得分:0)
提供应用程序名称:Application3.java
package com.docmgmt.test;
class Vehicle {
int passengers;
int fuelcap;
int mpg;
}
class Application3 {
public static void main(String[] args) {
Vehicle minivan = new Vehicle();
int range;
minivan.passengers = 7;
minivan.fuelcap = 16;
minivan.mpg = 21;
range = minivan.fuelcap * minivan.mpg;
System.out.println("Minivan can carry " + minivan.passengers
+ " with a range of " + range);
}
}
输出:
小型货车可以携带7,范围336
答案 3 :(得分:0)
从我的观点来看,最佳实践是,作为初学者,您可以从简单的文本编辑器和命令提示符或终端开始,这可以让您学习更多东西而不是使用IDE。
当您按照上述方法操作时,您可以随时注释复制源时可能存在的包行(前几行)。 例: //包*****;
答案 4 :(得分:0)
我认为问题是代码不完整,并且不包括要编译的源代码的所有细节。
您的代码似乎缺少实际类的声明,这是.java文件的名称。假设您的文件名为someClass.java,在实现内部类之前,您需要声明该类的主体。因此,假设您的文件名为someClass.java
:
public class someClass{
...
}
class innerClass{
}