質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

コンパイル

コンパイルとは、プログラミング言語のテキストソース(ソースコード)をコンピュータ上で実行可能な形式(オブジェクトコード)に変換することをいいます

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

Q&A

解決済

1回答

721閲覧

java packageから実行までがうまくできないです。

tmp0

総合スコア21

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

コンパイル

コンパイルとは、プログラミング言語のテキストソース(ソースコード)をコンピュータ上で実行可能な形式(オブジェクトコード)に変換することをいいます

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

0グッド

0クリップ

投稿2020/07/28 07:44

java入門編を勉強中です。これまでは、コンパイルして実行の流れは上手く行っていました。
例:javac Main.java(コンパイル)→java Main(実行)というやり方です。

今、簡単な計算機システムが出来上がり、参考書通りに2つのファイルに分け、2つのファイルをコンパイルしました。その後、実行するができない。と参考書に書いてある通りになっています。
それからこのファイルをパッケージに所属させました。
パッケージの名前は何でもいいとなっていたので教科書通りにしました。
しかし、なぜかpackageの後ろのcalcapp.mainとinportの後ろのcalcappに波線が出ます。
もしよろしければアドバイスをお願いします。ここから全く何度読み返しても前に進みません。

コード package calcapp.main import calcapp.logics.Main_6_2.*; public class Main_6_1 { public static void main(String[] args){ int a = 10; int b = 2; int total = Main_6_2.tasu(a, b); int delta = Main_6_2.hiku(a, b); System.out.println("足すと" + total + "、引くと" + delta); } }

もう一つのファイルです。こちらのpackageのcalcapp.logicsにも赤の波線が出ます。

コード package calcapp.logics; public class Main_6_2 { public static int tasu(int a, int b){ return(a + b); } public static int hiku(int a, int b){ return(a - b); } }

そして最後にこれを実行するにはどうしたら良いのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/07/28 07:45

波線はいいとして、何でコード組んでるのでしょうか
riko111

2020/07/28 08:03

package calcapp.main この後ろにセミコロンが無いのはコピペ漏れですか?
tmp0

2020/07/28 10:43

返答ありがとうございます。 何でというのはディレクトリ構成的なことでしょうか? java入門を勉強中で教科書をみながら書いたといったところです。 セミコロンはコピペ漏れでした。
m.ts10806

2020/07/29 01:41

いえ、コードを書くツールの話です。
guest

回答1

0

ベストアンサー

一点目は、 riko111さんがご指摘されている通り、Main_6_1.java の1行目の
package文の最後にセミコロンがついていません。

二点目は、packageを宣言する場合、Javaではそのパッケージ名通りのディレクトリ構造を作ることになっています。
今回のご質問であれば、以下のようなディレクトリ構成を作る必要があります。

. └── calcapp ├── logics │ └── Main_6_2.java └── main └── Main_6_1.java

上記ディレクトリ構成の . に相当するディレクトリから以下のように入力するとコンパイルと実行ができます。

javac ./calcapp/logics/Main_6_2.java javac ./calcapp/main/Main_6_1.java java calcapp.main.Main_6_1 足すと12、引くと8

上記コマンドを叩くと、それぞれのディレクトリに .class のファイルができているはずです。

. └── calcapp ├── logics │ ├── Main_6_2.class │ └── Main_6_2.java └── main ├── Main_6_1.class └── Main_6_1.java

投稿2020/07/28 08:31

YakumoSaki

総合スコア2027

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tmp0

2020/07/28 11:16

ご丁寧な解答ありがとうございます。 さらに初歩的な質問で申し訳ないですが、ディレクトリ構造というのがまだ理解できていません。いったいどんなモノなのでしょう。 教えていただいた javac ./calcapp/logics/Main_6_2.java javac ./calcapp/main/Main_6_1.java java calcapp.main.Main_6_1 はターミナルに入力するコンパイルという認識でよろしいのでしょうか。 教科書にそんなことは書いてなかったのですが私の理解度が低いだけなのでしょうか。 ちなみにMacbookproを使っていますがそれも関係ありますでしょうか。
YakumoSaki

2020/07/28 13:24

ディレクトリはmacOSだとフォルダと呼ばれています(OSによって呼び方が違いますが同じものです)。 ディレクトリ構造は難しく表現してしまいましたが、要するにファイルをどこのフォルダに置くか。 ということだとお考えください。 教科書に関してはわかりませんが、パッケージを使用した場合の、javaファイルの置き場所について書いていないのであれば、ちょっと不親切な教科書なのでしょう。 Macをお使いということですが、ターミナルでjavaコマンドが使えている時点でとりあえずは問題ないです。
tmp0

2020/07/28 23:01

わかりやすく説明していただきありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問