• ベストアンサー

classが作られない

javaをはじめて2日目です。以下がコンパイルしたところ、エラーがでなかったのですが、classが作られていません。何回か試したのですが、参考書には、 >javac Sample2.java とし、もう一度ディレクトリ名が出れば、コンパイル完了とあるのですが、classが作れていないので、実行が出来ません。 すみませんが、教えてください。 //画面に文字を出力するコード class Sample1 { public static void main(String args[]) { System.out.println("ようこそjavaへ!"); System.out.println("javaをはじめましょう!"); } } ちなみに保存名は、Sample2.javaです。

  • Java
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
noname#3852
noname#3852
回答No.2

 Javaアプリケーションの基本として、mainメソッドを実行するクラスの名称と、そのクラスの記述したソースファイル名はそろえる必要があります。  よって、ファイル名を生かすならクラス名をSample2に、クラス名を生かすならファイル名をSample1.javaとします。  加えて、mainメソッドを起動させたい場合、クラス名の直前にpublicを記述します。クラス名にpublicつけるつけないは、パッケージ内外のアクセスに関連しますが、2日目でそこまで踏み込むの混乱をまねくので省略します。  ただ、付け加えるなら、public宣言ができるクラスは、1ファイル1クラスで、そのファイルと同名のクラスのみです。別名のクラスをpublicつけるとコンパイルエラーを起こすでしょう(質問でエラーが発生しなかったのもここら辺に関係します)。

koujin
質問者

お礼

丁寧な回答ありがとうございました。ファイルとクラスを 同名にしなくてはいけないのですね。やってみたところ、 実行できました。publicはイマイチ分かりませんが、そのうち分かるようになるでしょう・・(^^;がんばります。

その他の回答 (1)

  • YoshiMu
  • ベストアンサー率41% (96/229)
回答No.1

classの名前をSample2にしてやってください。 class Sample2 { ... } 今のままでは、Sample1.classができているはずです。 カレントフォルダにあるSample1.classを実行してみてください。

koujin
質問者

お礼

早速書かれた通りやってみたところ実行できました。 ありがとうございました。

関連するQ&A

  • クラス名はどうするのですか?

    package ex7; public class Sample { public final static int VALUE = 100; } package ex7; import static ex7.Sample.VALUE; public class Main { private final static int VALUE = 0; public static void main(String[] args) { System.out.println(VALUE); } } 上記のプログラムのクラス名は何をつければいいですか・・・? 同じくプログラム名は何と付ければいいですか・・・? ご多忙中恐れいります・・・。 ご回答の程宜しくお願い申し上げます。 回答者 これが、素人さんには分かりにくいんですね。 mkdir ex7 で、ex7 というディレクトリを作製して、 その中に、 Sample.java を public class Sample { public final static int VALUE = 100; } で、 Main.java を package ex7; import static ex7.Sample.VALUE; public class Main { private final static int VALUE = 0; public static void main(String[] args) { System.out.println(VALUE); } } で作製して、 ex7 の中から出て、 javac ex7/Sample.java javac ex7/Main.java でコンパイルします。 質問者 度々すいません・・・。 ファイル名は何にすればいいですか・・・? ご回答がなかなか来ません。

    • ベストアンサー
    • Java
  • public class HelloFriendsFor2 {

    public class HelloFriendsFor2 { public static void main(String[] args) { System.out.print("Hello "); for (String name : args) { System.out.print(name); System.out.print(" "); } System.out.println(); } } } for文の結果を見るためどうしたらいいですか? 本ではこうやって書いてたんですけど c:\javac HelloFriendsFor2.java c:\java HelloFriendsFor2 HI HELLO NICE TO MEET YOU netbeansで見る方法はないですか?

    • ベストアンサー
    • Java
  • Hello World さえも実行できないのですが

    DOSで実行しております。 コードは以下のとおりです。 ソースファイル名は sample.java class sample { public static void main(String args[]) { System.out.println("unko"); } } # javac sample.java のように、JDKの最新版を用いてコンパイルしたところ、 コンパイルエラーは表示されません。 # java sample と実行したところ次の用な実行エラーが表示されるのです。 Exception in thread "main" java.lang.NoClassDefFoundError: unko です。 本当に困り果てています。 どうか解決方法のご教授宜しくお願いいたします。

    • ベストアンサー
    • Java
  • javaが実行されない

    雑誌を買ってjavaでプログラミングをしているのですが なぜか実行できません。 ツールはteraPadとJDKを使っています。 public class sample { public static void main(String[] args) { System.out.println("hello!"); } } コンパイルし、classファイルを実行すると Exception in thread "main" java.lang.NoClassDefFoundError: sample/class と出て実行できません。結果はhello!となるはずなのですがどなたかどこがおかしいのか教えてください。

    • ベストアンサー
    • Java
  • 「エディターにはメイン型が含まれていません。」

    いつもお世話になっております。 public class Sample2 { public static void main(String[] args) { System.out.println("こんにちは、Java!"); System.out.println("私の名前はこうぞうです。"); } } 「エディターにはメイン型が含まれていません。」 とコメントが出ます。エラーです。 どう直せばいいでしょうか? ご回答のほど宜しくお願い申し上げます。

    • ベストアンサー
    • Java
  • Javaについて教えてください!

    sampleパッケージに属するMain.javaとSub.javaがあり、Main.javaのmainはSub.javaのsubメソッドを呼び出して「OK」と表示させるプログラムを教えてください! //Main.java package sample; public class Main{ public static void main(String[] args){ Sub.sub(); }} //Sub.java package sample; public class Sub{ static String str = "OK"; public static void sub(){ System.out.println(str); }} String型の変数strはクラス変数で行いたいのですが、どこを改善すれば良いでしょうか?

    • ベストアンサー
    • Java
  • javaでメインクラスが見つからないエラーが出てしまいます。

    javaでメインクラスが見つからないエラーが出てしまいます。 やさしい簡単なプログラム class test { public static void main(String[] args) { System.out.println("Viva!"); } } をjavacでクラスファイルを作った後に(ここまではできます)java test.class を行うと could not find the main class というエラーが出てしまいます。 教科書の通りにjdkをインストールして、パスを環境変数に通して、コマンドプロンプトでコンパイルしかしていません。 なにが悪いんでしょうか?

    • ベストアンサー
    • Java
  • Java何故エラーになるのですか?

    public class Sample3_1 { public static void notMain(String[] args) { System.out.println("not main"); } public static void main (String[] args) { System.out.println("こんにちは、Java"); System.out.println("私の名前は、コウゾウです。"); } } Exception in thread "main" java.lang.Error: Unresolved compilation problems: トークン "Invalid Character" に構文エラーがあります。このトークンを削除してください 構文エラーがあります。"}" を挿入して ClassBody を完了してください at Sample3_1.main(Sample3_1.java:10) "}" を挿入して」と書かれてますが、 "}" には間違いなさそうです。 どなたか解説のほどを宜しくお願い致します。

    • ベストアンサー
    • Java
  • 「エディターにはメイン型が含まれていません。」

    public class Sample4 { public static void main(String[] args) { System.out.println("こんにちは、Java!"); System.out.println("私の名前はこうぞうです。");     }   } OSはUbuntu17.04でやっております。 上記でも「エディターにはメイン型が含まれていません。」 が出ました。 何処がおかしいのでしょう。 ご回答のほど宜しくお願い申し上げます。 私はさっきの皆様の回答を読み直します。

    • ベストアンサー
    • Java
  • eclipseの基本的な使い方。

    マダマダ解っていません。 Sample4→JREシステム・ライブラリー→src→main→Sample4.java これはどうなれば正解ですか? public class Sample4 { public static void main(String[] args) { System.out.println("こんにちは、Java!"); System.out.println("私の名前はこうぞうです。");     }   } エディターにはメイン型が含まれていません。 と出ます。 同様な質問で申し訳ありません。 Ctrl+F11で実行結果を出したいのです。 ご教示のほど、宜しくお願い申し上げます。

    • ベストアンサー
    • Java