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

代码如下
分别是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的时候显示如下:

阿神
阿神

闭关修行中......

모든 응답(2)
PHPzhong

cd Desktop;
javac cs121location1.TestFood;

부담
cd Desktop/cs121location1;

刘奇

코드의 첫 번째 줄에서 모든 패키지 문을 삭제
.java 파일이 포함된 폴더로 이동
실행javac *.java
두 개의 .class 파일 가져오기
java TestFood
성공적으로 실행됩니다

이 문제는 실제로 패키지 사용에 따른 문제입니다
또 다른 방법은 파일의 첫 번째 줄에서 패키지를 제거하지 않는 것입니다
javac -d ~/Desktop/cs121assignment1 Food.java TestFood.java
cs121assignment1이라는 이름의 새 폴더를 생성합니다. Food.class 和 TestFood.class
새로 생성된 cs121assignment1 상위 디렉터리의 java cs121assignment1.TestFood을 사용하여 성공적으로 실행하세요

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!