質問: 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(); //もう一度、とがめる } }
回答: ``` 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{ ```