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

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

ただいまの
回答率

90.50%

  • Java

    13803questions

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

  • Eclipse

    1661questions

    Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

java初心者です。エラーが出てるのですが、どこが問題点なのか指摘お願いします。

解決済

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 178

_su_konbu_

score 2

初心者です javaにてプログラミングを勉強しています

画像のように”static void”がうまく使えていないようなので問題点の指摘お願いします。

public class WorldofTanks
{

static String name = "xx_rory_mercury_xx";
static int lev =45;

public static void main(String[] args)
{

putJyosyou();

if(lev>50){
putGameOver();
}else{
putGameClear();
}

static void putJyosyou();
{
System.out.println("World of Tanks");
System.out.println("World of Tanksインストール成功しました");
System.out.println(name +"はleopardを購入しました");
}

static void putGameOver();
{
if(lev>75){
System.out.println(name+"は敵を発見した。熟練度"+lev+"のsuperunicumT54だ!");
}else if(lev>50){
System.out.println(name+"は敵を発見した。熟練度"+lev+"のunicumT54だ!");
}
if(lev>50){
System.out.println("この車両はお陀仏だ。急いで脱出するんだ...");
}
}

static void putGameClear();
{
if(lev>25){
System.out.println(name+"は敵を発見した。熟練度"+lev+"のnubT54だ!");
}else if(lev>0){
System.out.println(name+"は敵を発見した。熟練度"+lev+"のsupernubT54だ!");
}
else if(lev>0){
System.out.println("敵車両を撃破した。やったぞ!");
}
}
}
}イメージ説明

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • jun68ykt

    2018/07/21 10:13 編集

    了解です。pepperleafさんからの回答にあるように、不要なセミコロンを削除したうえで、さらにもう一点。Eclipseのエディタを見ると、main メソッドを閉じる } が無いように見えるのですが、いかがでしょう?

    キャンセル

  • _su_konbu_

    2018/07/21 10:22

    確認したところ、mainメソッドに関しては8~51行目で括ることができていると思います。セミコロンに関しては消去するとその分だけエラーが増える状況ですが、現在消去してみました。

    キャンセル

  • asahina1979

    2018/07/21 10:35

    どこが問題か?エクリプスがすべて行数教えてくれてるよね

    キャンセル

回答 3

+3

mainメソッドの括弧閉じが無いですね。
セミコロンについては既にpepperleafさんが回答されているとおりです。

コードの書き方について

teratailには、コードを見やすく表示する機能があります。
質問編集画面を開き、コードを選択した状態で<code>ボタンを押してください。
Java

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/07/21 10:29

    回答ありがとうございます。※画像範囲外52行目にも もうひとつ閉じ括弧”}”があり、括弧の数も偶数なのですがやはり括弧に問題がありそうですか?セミコロンは消去してみましたが進捗はなかったです。

    キャンセル

  • 2018/07/21 10:34

    現状、正しく"}"が対応していないため、「mainメソッドの中で他のメソッドの宣言を行っている」という状態です。putJosyouメソッドの前でmainメソッドを閉じる"}"が必要です。
    そうなると、画像の外にあるという"}"は余ることになるので、削除しましょう。

    キャンセル

  • 2018/07/21 10:42

    なるほどですね。その通りやってみたところエラーがなくなりました。”なぜエラーなのか”の説明もあり、助かりました。ありがとうございます。

    キャンセル

  • 2018/07/21 10:50

    @swordone さん
    解決へのコメント感謝します。

    キャンセル

checkベストアンサー

+2

こんにちは。

ご質問に上げられている Eclipseのエディタの状態から、やってみるべき修正を順を追って挙げていきますと、

(1) 51行目の } を消去

(2) 18行目に } を追加する。この追加した } で mainメソッドを閉じる。

(3) pepperleafさんのご回答で指摘されているように、以下の3つの行末の ; (セミコロン)を消去 

static void putJyosyou();
static void putGameOver();
static void putGameClear();

上記でいかがでしょう?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/07/21 10:40

    上記の通り修正してみたところ、エラーがすべてなくなりました。回答者のみなさまありがとうございます。
    今回の場合、メインメソッドの範囲が問題だった、という理解でよろしいでしょうか。

    キャンセル

  • 2018/07/21 10:46

    > エラーがすべてなくなりました。

    とのことでよかったです。

    > メインメソッドの範囲が問題だった、という理解

    はい、そうですね。3つの static メソッドの行末で ; を入れてしまったのはケアレスミスとしても、main()のくくりを間違えてしまったことのほうが、問題としては大きいですね。

    キャンセル

  • 2018/07/21 10:51

    以下、補足です。

    もとのご質問にキャプチャ画像が貼ってある、Eclipse のエディタ内のようなコードになってコンパイルエラーになり、「もしかすると { と } の対応がおかしいかも」と思ったら、エディタの中で右クリックして、「ソース」-「フォーマット」を選ぶと、ソースを整形してくれます。すると { } の対応がおかしいと、意図したコードではないような形にブロックがインデントされて整形されると思うので、それによって間違いに気がつく、ということもできるかと思います。

    キャンセル

  • 2018/07/21 10:53

    ありがとうございます。

    とあるプログラミング初心者向け動画を見ながら、見よう見まねで作っていたので
    私自身まだそれぞれの役割や本質を理解できていない段階です。
    しかし、質疑応答によってどの部分がどの程度深刻な問題なのかはっきり分かり、とても助かりました。

    キャンセル

+1

まだ、詳しくは見てませんが、、、、

ほぼ全部の関数定義のところに、余分なセミコロン(;)がついています。
例えば、

static void putJyosyou();

最後のセミコロンは不要。あるとここで宣言終了。で、続く {} が関数の実体になりません。 まず、削除してください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/07/21 10:08

    ご指摘ありがとうございます。セミコロン消去してみたところ、左端の数字の横にある×マークが大きくなりました。

    キャンセル

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

  • ただいまの回答率 90.50%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Java

    13803questions

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

  • Eclipse

    1661questions

    Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。