• ベストアンサー

このエラーメッセージの意味を教えてください

超、超初心者です。 やさしいjavaという本の通りに進めているつもり なのですが、どういう意味か教えてください。 基本的なことですみません。。。 よろしくお願いします。 C:\YJSample\01>javac Sample1.java Sample1.java:7: '}' がありません。 { ^ エラー 1 個 C:\YJSample\01>javac Sample1.java

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

  • ベストアンサー
  • isi0611
  • ベストアンサー率34% (46/134)
回答No.8

たびたびこんばんは~!(^o^)丿 >javaファイルと同じ階層の「sample1」という別ファイルの中にclassファイルができてます。 じゃsample1.javaとsample1.classがあるわけですね。 ちなみに気になったのですが、ファイル名とクラス名って大文字と小文字間違ってないですよね?? ファイル名:sample1.java 中身のクラス名:public class sample1 前の質問の時はC:\YJSample\01>javac Sample1.javaで コンパイルをしていたと思ったので。。。 Sample1かsample1どちらかに統一されてますか? >「ユーザーの環境変数」にパスを設定して、「システ>ム環境変数」にclassパスを設定しているのですが、間違えですか? 間違えてませんよ~。それで大丈夫です。 今回のエラーの場合はおそらくPATHは関係ないと思います。「システム環境変数」にclassパスを通しておけば大丈夫です。前も言ったように先頭に.\;がついてればうまくいくかも!(自身ないですけど) あまり力になれていないですが頑張ってくださいね!

meruna
質問者

お礼

ありがとうございます。 自分で色々チャレンジしてわからなかったら新規で質問してみま~す。 色々と親身になっていただいて。。。ダラダラとお世話になりました・・・。

その他の回答 (8)

noname#30871
noname#30871
回答No.9

 この場合、CLASSPATHを設定する必要はありません。  システム環境変数からCLASSPATHを削除すれば動くはずです。  また、次からは関連質問は別に立てたほうがいいかもしれません。

meruna
質問者

お礼

ありがとうございます。 すみません・・・以後気をつけます。

  • isi0611
  • ベストアンサー率34% (46/134)
回答No.7

ど~も~! 早く言うとJDKが開発環境で、 JREというのが実行環境がです。 ちなみにコンパイルするとclassファイルっていうのはjavaファイルと同じ階層に出来てるんですよね? 環境変数のPATHもあってるんですよね? なぜでしょう。 もうmerunaさんの環境を見てみないとわからなくなってきましたね(ToT)

meruna
質問者

お礼

ありがとうございました。 isi0611さん たびたびしつこくてごめんなさい・・・。失敗してもこれで最後にします。 >ちなみにコンパイルするとclassファイルっていうの >はjavaファイルと同じ階層に出来てるんですよね? javaファイルと同じ階層の「sample1」という別ファイルの中にclassファイルができてます。 >環境変数のPATHもあってるんですよね? classパスとただのパスはどう違うのですか? 「ユーザーの環境変数」にパスを設定して、「システム環境変数」にclassパスを設定しているのですが、間違えですか? よろしくお願いします。

  • isi0611
  • ベストアンサー率34% (46/134)
回答No.6

こんばんは~! まだNoClassDefFoundErrorが出ますか・・・(-_-;) まずmerunaさんの環境でやると (1)ソースファイルの階層を設定  C:\YJSample\01> ですよね? (2)そのあとその階層でコンパイル  C:\YJSample\01>javac Sample1.java (3)クラスファイルが出来るので実行  C:\YJSample\01>java Sample1 でダメなんですよね?? はっきり原因の特定は出来ませんがクラスパスの設定がおかしいのでしょうかね?? 参考URLを見て確認してもらえますでしょうか? それともうひとつ 環境変数でclasspathが設定してあるのであれば、編集し、一番先頭に.;をつけるとパスを指しにいくのでうまくいく場合もあるかもです(自信なしですが(~_~;))

参考URL:
http://www.nextindex.net/java/app/setup.html
meruna
質問者

お礼

たびたびたびありがとうございます。すみません。。。 クラスパスは設定されているみたいなのですが、ひとつ疑問があります・・・JDKをダウンロードしたときにjavaファイルの中にJDK1.5.0_05とjre1.5.0_05という二つのファイルがあるのですが・・・jreというのはなんでしょうか?こちらのパスは設定してないのですが・・・。質問ぜめでごめんなさい^^;

  • masusun
  • ベストアンサー率15% (44/285)
回答No.5

コンパイルはできたんですよね? でしたらclasspathが通ってないだけでは? 古いJDK使ってませんか? 実行の前にclasspasをセットしてみてください。 ■例 > set classpath=%classpath%;C:\YJSample\01 > java Sample1

meruna
質問者

お礼

お礼が遅くなってすみません。 回答ありがとうございます。 今のJDKのバージョンは1.5.05でいいのでしょうか?

  • isi0611
  • ベストアンサー率34% (46/134)
回答No.4

NoClassDefFoundError のエラーの意味は 簡単に言うとクラスをコンパイルする時点では存在していましたが、その後見つからなくなってるわけです。 javac Sample1.java と入力してコンパイルすると Sample1.classというファイルが出来ると思います。 そのあと java Sample1 実行できるのですが、classが 無いと言われてますね?classファイル削除したりしてませんか??

meruna
質問者

お礼

お礼がおそくなってすみません。 たびたびありがとうございます。 classファイルはたしかにできてまして、削除はしていないのですが・・・。 色々、他の方々からのアドバイスでやり直してみたのですが、やはり同じメッセージが出てしまうのです。

noname#30871
noname#30871
回答No.3

>Exception in thread "main" java.lang.NoClassDefFoundError: Sample1 『やさしいJava』著者のホームページに説明がありますので、ごらんください。

参考URL:
http://www.bekkoame.ne.jp/~manachan/yasaj.html
  • isi0611
  • ベストアンサー率34% (46/134)
回答No.2

こんばんは! 私もやさしいjavaは一通りやりました。 それはただ単純なコンパイルエラーですね! { と } の数があっていないのでは? 見直してみればわかると思いますよ(^o^)丿 でも他でエラーになってる可能性もあります。 ソースを見ればすぐわかるのですが・・・。

meruna
質問者

お礼

isi0611さん、こんばんは。 回答ありがとうございます。 とっても助かりました。

meruna
質問者

補足

申し訳ありませんが、再度質問してもよろしいでしょうか? コンパイルは成功したようなのですが、実行したら 別のエラーがでてしまったのですが、これはどんな意味なのでしょうか? よろしくお願いします。 Exception in thread "main" java.lang.NoClassDefFoundError: Sample1

noname#30871
noname#30871
回答No.1

 「 '}' がありません。」は、そのままの意味です。  つまり、プログラムの中であるはずの '}' が書かれていないのです。  Javaのプログラムでは '{' と '}' は必ず一対で現れます。'}'が抜けていると、このエラーになります。  要するにプログラムの入力間違いです。もう一度よく見直してください。

meruna
質問者

お礼

amajunさん 回答ありがとうございました。 おっしゃるとおり、ただの入力違いでした^^;

関連するQ&A