2013-07-11 32 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聲明