代码如下
分别是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的时候显示如下:
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
을 사용하여 성공적으로 실행하세요