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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Java

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

Eclipse

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

Q&A

解決済

3回答

3372閲覧

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

_su_konbu_

総合スコア8

Java

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

Eclipse

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

0グッド

0クリップ

投稿2018/07/21 00:50

#初心者です 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("敵車両を撃破した。やったぞ!"); } } }

}イメージ説明

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jun68ykt

2018/07/21 01:01

Eclipse のエディタの21行目、28行目、40行目にエラーを示す赤の波線が表示されています。これらの行のエラーメッセージを読んで、対応してみるとよいかもしれません。
_su_konbu_

2018/07/21 01:10

「パラメータputJyosyouの修飾子が正しくありません。finalのみ許可されています。」と表示されました。
jun68ykt

2018/07/21 01:19 編集

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

2018/07/21 01:22

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

退会済みユーザー

2018/07/21 01:35

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

回答3

0

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

コードの書き方について

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

投稿2018/07/21 01:21

編集2018/07/21 01:22
LouiS0616

総合スコア35658

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

_su_konbu_

2018/07/21 01:29

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

2018/07/21 01:34

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

2018/07/21 01:42

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

2018/07/21 01:50

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

0

ベストアンサー

こんにちは。

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

(1) 51行目の } を消去

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

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

java

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

上記でいかがでしょう?

投稿2018/07/21 01:33

jun68ykt

総合スコア9058

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

_su_konbu_

2018/07/21 01:40

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

2018/07/21 01:46

> エラーがすべてなくなりました。 とのことでよかったです。 > メインメソッドの範囲が問題だった、という理解 はい、そうですね。3つの static メソッドの行末で ; を入れてしまったのはケアレスミスとしても、main()のくくりを間違えてしまったことのほうが、問題としては大きいですね。
jun68ykt

2018/07/21 01:51

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

2018/07/21 01:53

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

0

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

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

static void putJyosyou();

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

投稿2018/07/21 01:01

pepperleaf

総合スコア6383

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

_su_konbu_

2018/07/21 01:08

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問