都道府県穴埋めゲーム

Javaで、しっかり間違いがなく入力している(はず)なのに、「エラー:"{"がありません。」と表示されます…何が間違っているのかお手上げ状態です。
画像も添付するのでどなたかお分かりになる方よろしくお願いします(;A;)

「Javaのコンパイルについて」の質問画像

A 回答 (3件)

クラス名の後ろになんで'.'が有るんじゃ?


'{'が来るはず!

とコンパイラは言ってます(^^;

クラス名には'.'を含めることは出来ません。

.javaはソースコードファイル名に付ける拡張子です。
    • good
    • 1

多分「Java はクラス名とファイル名を一緒にしないとダメ」ということからクラス名を renshu.java としたのでしょうが、この場合のファイル名は拡張子を除いたものです。


コードの方には .java はいりません。
    • good
    • 1

ちゃんとどこで間違えているかがメッセージに含まれています。


reshu.javaの . の下に ^ とあります。
ここがエラーの発生箇所です。

メッセージと内容が異なることがあります。
理由の一つは、コンパイラが「本当の間違い」を判定できないからです。
例えば { { } と括弧の組が合わないとして、これが { が多いのか } が足りないのかは用意に判断できません。
そのため、どちらでエラーになるか(または別のエラーになるか)はコンパイラの解釈次第となります。


class の直後には、クラス名が来ます。
クラス名には . (ピリオド)が使えないので、 renshu までが「クラス名」と判断されます。
クラス名の直後には、 extendsだのが来る場合がありますが、無い場合もあります。
これらが無いとすると、クラスの定義を開始する { が来るはずです。
しかし、 { が来るべき場所には . があります。


なぜ reshu.java というクラス名にしようとしているのでしょうか?
参考書にはそんな書きかたはしてないはずです。



あと、プログラムを画像で貼るのは止めましょう。
画像ではプログラムが読めないことが多いです。
特に、カメラで撮ったものはノイズやらモアレやらが出て読めません。
直接コピペする。最悪でも「スクリーンショット」を使うようにしましょう。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報