私はJavaチュートリアルに従っています(テストコードを書くために自分のデバイスに任せています)が、コンパイルしようとすると、シンボルが見つからないというエラーが発生します。私は調べてみましたが、私が書いたコードがなぜこのエラーを生成するのか理解できません。とても簡単なことかもしれませんが、私が間違ったことを理解しようとして髪を抜いているので、誰かが原因を指摘してくれれば幸いです。
TestBeerExpert.java:
package com.example.model;
import com.example.model.*;
import java.util.*;
public class TestBeerExpert {
public static void main(String[] args) {
TestBeerExpert test = new TestBeerExpert();
test.go();
}
private void go() {
BeerExpert expert = new BeerExpert();
List<String> brands = expert.getBrands("amber");
...
}
}
BeerExpert.java:
package com.example.model;
import java.util.*;
public class BeerExpert {
public List<String> getBrands(String color) {
List<String> brands = new ArrayList<String>();
...
return(brands);
}
}
ディレクトリ構造:
beerV1 -> src -> com -> example -> model -> TestBeerExpert.java & BeerExpert.java
beerV1
からのコンパイルjavac -d classes src/com/example/model/TestBeerExpert.java
そして実際のエラー:
src/com/example/model/TestBeerExpert.java:14: error: cannot find symbol
BeerExpert expert = new BeerExpert();
^
symbol: class BeerExpert
location: class TestBeerExpert
src/com/example/model/TestBeerExpert.java:14: error: cannot find symbol
BeerExpert expert = new BeerExpert();
^
symbol: class BeerExpert
location: class TestBeerExpert
2 errors
私の一生の間、私は自分が間違っていることを理解することができません。ファイルは同じディレクトリとパッケージにありますが、私が知る限り、これはコンパイルする必要があります。コードを修正していただければ幸いですが、間違ったことを説明して、将来のために覚えておくことができます。前もって感謝します。