2013-07-11 33 views
1

我遇到了一些问题,试图在命令行上运行我的程序。我在NetBeansProjects目录中创建了2个目录。第一种称为食品包装,第二种称为水果包装食品包装的子目录。在fruitpackage里面我有两个叫做Food.java和FoodMain.java的java文件。在Food.java的代码如下所示:java在命令行上

package foodpackage.fruitpackage; 

public class Food{ 

// declare instance variabels 
private String foodVarieties; 
private String foodList; 

// returns foodVarieties 
public String getFoodVarieties(){ 
return foodVarieties; 
} 

// sets foodVarieties 
public void setFoodVarieties(String temp){ 
foodVarieties = temp; 
} 

// returns foodList 
public String getFoodList(){ 
return foodList; 
} 

// sets foodList 
public void setFoodList(String temp){ 
foodList = temp; 
} 
} 

FoodMain.java的代码如下所示:

import foodpackage.fruitpackage.*; 

public class FoodMain{ 

public static void main(String args[]){ 

// create an object instance of Food class 
Food t = new Food(); 

// set the foodVarieties 
t.setFoodVarieties("Food varieties: Vegetables and Meat"); 

// set the foodList 
t.setFoodList("Food list: chicken, lettuce, and broccoli"); 

// print the foodVarieties 
System.out.println(t.getFoodVarieties()); 

// print the foodList 
System.out.println(t.getFoodList()); 
} 
} 

我跑它在命令行上,如下所示:

cd /Users/timothylee/NetBeansProjects 
javac -cp . foodpackage/fruitpackage/*.java 
java -classpath . foodpackage/fruitpackage.FoodMain 

当我跑了这一点,我得到的

错误
Exception in thread "main" java.lang.NoClassDefFoundError: foodpackage/fruitpackage/FoodMain (wrong name: FoodMain) 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) 
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 

有人可以帮我解决这个错误吗?谢谢。

+1

你正在使用'System.out.println(“some string”= aVariable);',可能你打算使用'+'而不是'='。是的,这肯定是一个错字。 –

回答

6

使用+代替=来连接Strings

System.out.println("ID: " + annaID.getStudentID()); 
1

你的线是目前:

System.out.println("ID: " = annaID.getStudentID()); 

=是不是你要找的运营商。

System.out.println("ID: " = annaID.getStudentID()); 

您正尝试将int分配给一个字符串,它是坏的:当你做到这一点

System.out.println("ID: " + annaID.getStudentID()); 

这将串联与annaID.getStudentID()

0

返回整数的串。使用+操盘手:

System.out.println("ID: " + annaID.getStudentID()); 
0

检查你的代码...通过您所提供的图像看起来你已经输入的“=”,而不是“+”中的System.out.println声明