1. ホーム
  2. java

[解決済み] system.out.println()と書いた場合、systemパッケージが見つからない。

2022-02-15 06:58:53

質問

簡単なプログラムを書いています。

class Demo{
    public static void main(String[] args){
        system.out.println("Hello");
    }
}

をコンパイルすると error: package system not found . なぜそうなるかというと、パッケージが見つからない代わりに、クラス名のスペルが間違っているのです。

どのように解決するのですか?

<ブロッククオート

パッケージが見つからないのは、クラス名のスペルミスが原因です。

という場合 something.somethingElse を実行しているとコンパイラは見なします。 packageName.classname . この場合、あなたがアクセスするつもりだったのは outSystem というパッケージにアクセスしようとしている可能性があります。 system が(例えばクラスパスに)存在しない場合。つまり、コンパイラからの推測です。

そして、(推測ですが)これは、そうなのです。 ベター を推測します。コンパイラがこう言ったとしましょう クラスが見つかりません . あなたは嬉しいかもしれませんね。しかし、他の多くの人が Java.util.List (代わりに java.util.List にアクセスしようとしたのですが...」というメッセージが表示されます。 java.util パッケージのスペルを間違えました。コンパイラは誤って クラス名欠落 .

アップデート(万全を期すため)
paxdiabloさんより 回答 を以下に示します。

コンパイラがパッケージ名と判断しているのは クラス名や変数名ではなく、JLSの6.5節にあります。 名前の意味を知ること。