shell - 用命令行对javac进行编译,总是『cannot find symbol』,但是eclipse执行不会出现问题
阿神
阿神 2017-04-18 10:48:47
0
2
692

代码如下
分别是enum和testclass两个java文件

package cs121assignment1;

public enum Food {
    APPLE("fruit", 55),
    BANANA("fruit", 80),
    CARROT("vegetable", 60);
    
    private final String catagory; //vegetable or fruit
    private final int calorie;
    
    Food(String catagory, int calorie){
        this.catagory = catagory;
        this.calorie = calorie;
    }
    
    public int getCalorie(){
        return calorie;
    }
    
    public String getCatagory(){
        return catagory;
    }
}
package cs121assignment1;

public class TestFood {

public static void main(String[] args){
    System.out.println("All foods:");
    
    for(Food food : Food.values()){
        System.out.printf("%s, catagory: %s, calorie: %d kilocalorie each\n", food, food.getCatagory(), food.getCalorie());
    }
        
}

eclipse中运行结果如下:

但是用命令行执行javac的时候显示如下:

阿神
阿神

闭关修行中......

membalas semua(2)
PHPzhong

cd Desktop;
javac cs121assignment1.TestFood;

不要
cd Desktop/cs121tugasan1;

刘奇

Padam semua pernyataan pakej dalam baris pertama kod
cd ke folder yang mengandungi fail .java
Laksanakanjavac *.java
untuk mendapatkan dua fail .class
java TestFood
Ia akan berjalan dengan jayanya

Masalah ini sebenarnya adalah masalah dengan penggunaan pakej
Kaedah lain bukan untuk mengalih keluar pakej dalam baris pertama fail
javac -d ~/Desktop/cs121assignment1 Food.java TestFood.java
akan menjana folder baharu bernama cs121assignment1 mengandungi Food.class 和 TestFood.class
Gunakan cs121assignment1 dalam direktori atas java cs121assignment1.TestFood yang baru dijana untuk berjalan dengan jayanya

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan