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

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

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

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

Q&A

解決済

2回答

4588閲覧

エラーの実態がつかめません。当方Java初心者です。

yahhymmne

総合スコア20

Java

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

0グッド

0クリップ

投稿2016/08/24 07:28

編集2016/08/24 07:32

###前提・実現したいこと
Raceクラスの3行目と13行目で問題が起こっているようです。
が、どこが間違っているかよくわかりません。どなたかご教示お願いします。

###発生している問題・エラーメッセージ

トークン ";" に構文エラーがあります。このトークンの後には { を指定する必要があります。 構文エラーがあります。"}" を挿入して ClassBody を完了してください

###該当のソースコード

Java

1public class Race 2{ 3 Status[] status = new Status[9]; 4 status[0] = new Status(0,"技"); 5 status[1] = new Status(0,"体"); 6 status[2] = new Status(0,"心"); 7 status[3] = new Status(0,"器用度"); 8 status[4] = new Status(0,"敏捷度"); 9 status[5] = new Status(0,"筋力"); 10 status[6] = new Status(0,"生命力"); 11 status[7] = new Status(0,"知力"); 12 status[8] = new Status(0,"精神力"); 13} 14 15public class Status 16{ 17 int val; 18 String stat; 19 Status(int val,String stat) 20 { 21 this.val = val; 22 this.stat = stat; 23 } 24} 25

###試したこと
{}の追加

###補足情報(言語/FW/ツール等のバージョンなど)
Eclipse Neon使用

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

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

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

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

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

guest

回答2

0

java

1public class Race 2{ 3 Status[] status = new Status[9]; 4 5 public Race() { 6 status[0] = new Status(0,"技"); 7 status[1] = new Status(0,"体"); 8 status[2] = new Status(0,"心"); 9 status[3] = new Status(0,"器用度"); 10 status[4] = new Status(0,"敏捷度"); 11 status[5] = new Status(0,"筋力"); 12 status[6] = new Status(0,"生命力"); 13 status[7] = new Status(0,"知力"); 14 status[8] = new Status(0,"精神力"); 15 } 16} 17 18class Status 19{ 20 int val; 21 String stat; 22 Status(int val,String stat) 23 { 24 this.val = val; 25 this.stat = stat; 26 } 27}

まず

java

1status[0] = new Status(0,"技"); 2status[1] = new Status(0,"体"); 3... 4status[7] = new Status(0,"知力"); 5status[8] = new Status(0,"精神力");

について、このような処理は処理はメソッドやコンストラクタなどの中で行なう必要があります。
とりあえず、今回はコンストラクタに移しました。

次にStatusですが、恐らく Race.java ファイルの中に書いていますね?
その場合、public クラスとして定義することはできません。
上のようにpublic修飾子を削除するか、 Status.java ファイルを新たに作成し、その中に記述する必要があります。

投稿2016/08/24 07:48

KiyoshiMotoki

総合スコア4791

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

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

yahhymmne

2016/08/25 00:34

回答ありがとうございます。 メソッドにこれを記述するのはなんだか違うと思っていましたが、 コンストラクタという手が有りましたね。 とても参考になりました!
guest

0

ベストアンサー

Java で配列の宣言は

Status[] status = new Status[3];

です。

投稿2016/08/24 07:30

yskz44

総合スコア100

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

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

yahhymmne

2016/08/24 07:31

あ、初歩的なミス失礼しました。只今そのように修正しましたが、エラー自体は解決していない模様です……
yahhymmne

2016/08/24 07:37

エラーチェッカーに則って修正した所うまく動作しました。ご回答ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問