質問: Calcapp.logics.CalcLogic.hiku(a, b); System.out.println("足すと" + total + " 、引くと" + delta); }} 補足 何度もメッセージありがとうございます,これでも正確に説明できてなかったらすいません。 ディレクトリー構成はjava/calcapp/main,logics コンパイルは1回目は javac java/calcapp/logics/CalcLogic.javaと指定してコンパイル 2回目は javac java/calcapp/main/Calc.javaでコンパイルしたらエラーが出たんで、 javac java/Calc.java でコンパイル成功してできたCalc.classをmainディレクトリにコピーして、 java calcapp.main.Calcで実行したらエラーが表示されて実行できません。 osはmacです。 よろしくお願いします。
回答: 作業用のディレクトリーとして作成したjavaにいるものとして、 mkdir Calcapp cd Calcapp mkdir logics mkdir main のように、パッケージ名として計画している通りの階層のディレクトリーを作成します。大文字小文字は区別されますので、そこまでパッケージ名と完全に一致させましょう。 > > ディレクトリー構成はjava/calcapp/main,logics > > > では、calcappの頭が小文字のために、コードに記述するパッケージ名と完全一致しません。これが後のエラーの原因にもなっています。 そして、logicの下にCalcLogic.javaを、mainの下にCalc.javaを作成します。 これで ``` java └ Calcapp ├ logics │ └ CalcLogic.java └ main └ Calc.java ``` というファイル配置になるはずです。ここで、javaディレクトリーで javac Calcapp/main/Calc.java のようにコマンドを実行すれば、Calc.javaのコンパイルのときにCalcLogic.javaも参照されますので、2つともコンパイルされるはずです。 ここから実行するには、同じ場所から java Calcapp.main.Calc のように、完全修飾クラス名で指定すれば実行できるでしょう。