はじめに
- 複数クラスで構成されるプログラムのコンパイルの仕方を教えてください。
- 詳細は下記の通りです。
実現したいこと
- コンパイルを通したい
問題点
- 足し算と引き算をするメソッドを持つクラスを、メインから呼び出して実行するプログラムを作成中
- 備考に記載している書籍の通りに実行しているつもり(コードも丸コピ)だがコンパイルが通らない
- 書籍に記載されいる内容
- 各クラスごとにファイルを作成する
- パッケージ化する
- コンパイルする
- 書籍に記載されいる内容
- 備考に記載している書籍の通りに実行しているつもり(コードも丸コピ)だがコンパイルが通らない
これまでの経緯
-
ディレクトリ構成
C:. └─calcapp ├─logics │ CalcLogic.class │ CalcLogic.java │ └─main Calc.java
-
以下の2種類のソースコードを作成
-
CalcLogic.java
java
1package calcapp.logics; 2 3public class CalcLogic { 4 public static int tasu(int a, int b) { 5 return (a + b); 6 } 7 public static int hiku(int a, int b) { 8 return (a - b); 9 } 10}
-
Calc.java(mainメソッドが記載されているファイル)
java
1package calcapp.main; 2import calcapp.logics.*; 3 4public class Calc { 5 public static void main(String[] args) { 6 int a = 10; int b = 2; 7 int total = CalcLogic.tasu(a, b); 8 int delta = calcapp.logics.CalcLogic.hiku(a, b); 9 System.out.println("足すと" + total + "、引くと" + delta); 10 } 11}
-
-
該当ディレクトリに移動して、コンパイルを実行
-
CalcLogic.java
json
1cd C:\Users\<ユーザー名>\Desktop\Git-practice\スッキリわかるJava入門\calcapp\logics 2javac CalcLogic.java
-
Calc.java
json
1cd C:\Users\<ユーザー名>\Desktop\Git-practice\スッキリわかるJava入門\calcapp\main 2javac Calc.java
-
発生している問題・エラーメッセージ
-
CalcLogic.javaのコンパイルは通る
-
Calc.javaをコンパイルしようとすると以下のエラーが発生
java
1Calc.java:2: エラー: パッケージcalcapp.logicsは存在しません 2import calcapp.logics.*; 3^ 4Calc.java:7: エラー: シンボルを見つけられません 5 int total = CalcLogic.tasu(a, b); 6 ^ 7 シンボル: 変数 CalcLogic 8 場所: クラス Calc 9Calc.java:8: エラー: パッケージcalcapp.logicsは存在しません 10 int delta = calcapp.logics.CalcLogic.hiku(a, b); 11 ^ 12エラー3個
- パッケージ、メソッドが見つからないと怒られるが、指定の仕方は合っているし、冒頭に書いた通り書籍に書いてあるコードを丸コピしている
- ソースコード上にもエラーは発生していない
- パッケージ、メソッドが見つからないと怒られるが、指定の仕方は合っているし、冒頭に書いた通り書籍に書いてあるコードを丸コピしている
自分なりの考察
- ディレクトリ構成が間違っている
- ディレクトリ構成までは記載されてなく、どのファイルをどのパッケージに属するかしか書いてなく、パッケージ名を元に自分でディレクトリを構成したため
- コンパイルの手順が間違っている
- 書籍の内容を正しく理解していない
- 見落としがある
備考
- 実行環境
- OS
- windows11
- JDK
- Eclipse Temurin(JDK17)
- OS
- 現在、「スッキリわかるJava入門 第3版」を学習中
- 6章「複数クラスで構成されるプログラム」を進行中
以上になります。
よろしくお願いいたします。

回答2件
あなたの回答
tips
プレビュー