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

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

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

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

Q&A

1回答

4624閲覧

複数ファイル(複数クラス)で1つのプログラムの実行方法及びそのエラー内容について

kasa-nyan

総合スコア9

Java

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

0グッド

0クリップ

投稿2018/10/04 06:35

C:\java\comment配下に、Main.javaとZenhan.javaとKouhan.javaを配置してあります。
コマンドプロンプトで、カレントディレクトリをC:\javaに移動してから、javac comment\Main.javaを実行すると、コンパイルに成功します。
しかし、このままカレントディレクトリを変えずに、java comment.Mainを実行すると、
”C:\java>java comment.Main
エラー: メイン・クラスcomment.Mainが見つからなかったかロードできませんでした”
というエラーが表示され実行できません。
これはどういったことが原因で実行できていないのでしょうか?

また、コンパイルに成功した後に、カレントディレクトをC:\java\commentに移動し、java Mainを実行すると、
”C:\java\comment>java Main
Exception in thread "main" java.lang.NoClassDefFoundError: comment/Zenhan
at Main.main(Main.java:4)
Caused by: java.lang.ClassNotFoundException: comment.Zenhan
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more”
というエラーが表示されます。
どうすれば正しく実行できるのでしょうか?
アドバイスお願いします。

【C:\java\comment\Main.java】
import comment.Zenhan;
public class Main{
public static void main(String[] args)throws Exception{
Zenhan.doWarusa();
Zenhan.doTogame();
comment.Kouhan.callDeae();
comment.Kouhan.showMondokoro();
}
}

【C:\java\comment\Zenhan.java】
package comment;
public class Zenhan{
public static void doWarusa(){
System.out.println("きなこでござる。食えませんがの。");
}
public static void doTogame(){
System.out.println("この老いぼれの目はごまかせませんぞ。");
}
}

【C:\java\comment\Kouhan.java】
package comment;
public class Kouhan{
public static void callDeae(){
System.out.println("えぇい、こしゃくな。くせ者だ!であえい!");
}
public static void showMondokoro()throws Exception{
System.out.println("飛車さん、角さん。もういいでしょう。");
System.out.println("この紋所が目にはいらぬか!");
comment.Zenhan.doTogame(); //もう一度、とがめる
}
}

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

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

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

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

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

guest

回答1

0

import comment.Zenhan; public class Main{ public static void main(String[] args)throws Exception{

↓↓↓↓

package comment; import comment.Zenhan; public class Main{ public static void main(String[] args)throws Exception{

投稿2018/10/04 06:49

tkturbo

総合スコア5572

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

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

kasa-nyan

2018/10/04 07:39

回答ありがとうございます。 回答通りに変更したところ、実行できました。 上記のソースコード3つは、参考書(スッキリわかるJava入門第2版)に載っているものをそのまま流用していたので、1行見落として書いてしまっていたのかな、と思い、参考書を見直してみましたが、そちらには、package comment;の記載がありませんでした。 これはやはり参考書のほうが間違っていると考えていいんでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問