こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

構文解析中にファイルの終わりに移りました。

いつも大変お世話になりありがとうございます。
度々申し訳ございません。
コンパイルエラーが解読できません。
アドバイスのほど宜しくお願い申し上げます。
import java.util.*;
class Monster
{
private int power;
Monster(int p) {
power = p;
}
class PlayWithMonster6
{
public static void main(String[] args)
{
Monster m = new Monster(10);
System.out.println("モンスターが生まれました");
Scanner sc = new Scanner(System.in);
int ans, food;
while(m.getPower() > 0) {
System.out.println("\nモンスターのパワー:" + m.getPower());
System.out.println("どうしますか");
System.out.print("1 散歩させる 2 食べさせる 3 終了>");
ans = sc.nextInt();
if(ans == 1) {
m.walk();
}
else if( ans == 2) {
System.out.println("食べさせる量を入力してください");
System.out.print("整数入力>");
food = sc.nextInt();
m.eat(food);
}
else {
System.out.println("終了します");
break;
}
}
System.out.println("\nまた遊ぼうね");
}
}

投稿日時 - 2018-03-15 00:40:05

QNo.9478078

困ってます

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

>そのソースが掲載されているサイトに記述されてませんか?

>class Monster
>{
>private int power;
>Monster(int p) {
>power = p;
>}

↑この「Monster」クラスに続きはないのでしょうか?

投稿日時 - 2018-03-16 19:37:28

お礼

ご回答誠にありがとうございました。

投稿日時 - 2018-03-16 20:34:43

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(13)

ANo.13

>「Monster」クラスに「getPower、walk、eat」メソッドを存在させるには、
>どうすればいいでしょうか?

作ってあげてください。
作り方は入門書等に載っているはずです。

投稿日時 - 2018-03-16 20:07:52

お礼

ご回答誠にありがとうございました。

投稿日時 - 2018-03-16 20:34:05

ANo.11

>回答No.10 amanojaku1

ちなみに下記サイトにメソッドの文法が解説されてます。

【Java入門】メソッドの使い方総まとめ(呼び出し、引数、戻り値)
https://www.sejuku.net/blog/26339

投稿日時 - 2018-03-16 19:33:32

お礼

ご回答誠にありがとうございました。

投稿日時 - 2018-03-16 20:35:38

ANo.10

>「Monster」クラスに「getPower、walk、eat」メソッドを存在させるには、
>どうすればいいでしょうか?

もしメソッドだけ作っても そのメソッドの機能が分からなければ意味がありません(無機能のメソッドを作っても意味がありません)。
そのソースが掲載されているサイトに記述されてませんか?

投稿日時 - 2018-03-16 18:34:44

お礼

ご回答誠にありがとうございました。

投稿日時 - 2018-03-16 20:36:27

ANo.9

>ボクは、どうすれば「構文解析中にファイルの終わりに移りました。」というエラーメッセージが出なくなるか知りたいのです。
それは既に的確な回答が出ていますよ。

>>では7行目に「}」を足していますが、余計にエラーが増えるのです。
この「余計にエラーが増える」のは「構文解析中にファイルの終わりに移りました。」が解決して、回答No.4で指摘しているように「回答N0.2の指摘通りですが、}の不足を補っても他のエラーが出るかも知れません。」と警告したはずです。

>「Monster」クラスに「getPower、walk、eat」メソッドを存在させるには、どうすればいいでしょうか?
「getPower、walk、eat」はサブプログラムのようなものですから、メインプログラムの手助けになるものを作ることになります。
回答No.5、7で提示のURLにある「amanojaku@管理者」に教えて貰えば良いと思います。

投稿日時 - 2018-03-16 18:23:29

お礼

ご回答誠にありがとうございました。

投稿日時 - 2018-03-16 20:38:13

ANo.8

>では7行目に「}」を足していますが、余計にエラーが増えるのです。
提示のURLには『「Monster」クラスに「getPower、walk、eat」メソッドが存在しません。』と言う記載がありますので丸写ししても正常にコンパイルできるコードではないと推測します。
回答No.5、6、7のamanojaku1さんと提示URLのamanojaku@管理人さんは同一人物でしょうか?
もし、同一人でしたらサイトの規約に違反するかも知れませんね。

takakou7979さんは何をしたいのですか?

投稿日時 - 2018-03-16 08:56:45

お礼

ご回答誠に有難うございます。
ボクは、どうすれば「構文解析中にファイルの終わりに移りました。」
というエラーメッセージが出なくなるか知りたいのです。

投稿日時 - 2018-03-16 15:05:36

ANo.7

>7行目に「}」を足していますが、余計にエラーが増えるのです。
>
>他にアドバイスの程、宜しくお願い申し上げます。

「Monster」クラスに「getPower、walk、eat」メソッドが存在しません。

投稿日時 - 2018-03-15 21:39:03

お礼

ご回答誠に有難うございます。
「Monster」クラスに「getPower、walk、eat」メソッドを存在させるには、
どうすればいいでしょうか?
度々申し訳ありません。
教えてください。

投稿日時 - 2018-03-16 15:08:09

ANo.6

>回答No.5 amanojaku1

「Monster」クラスが終了していません。
「{」と「}」の数を確認して下さい。

>class Monster
>{
>private int power;
>Monster(int p) {
>power = p;
>}

投稿日時 - 2018-03-15 19:21:41

お礼

ご回答誠にありがとうございました。

投稿日時 - 2018-03-15 19:24:11

ANo.5

>きちんと字下げして確認しましょう

きちんと字下げ

投稿日時 - 2018-03-15 18:16:13

お礼

ご回答誠に有難うございます。

7行目に「}」を足していますが、余計にエラーが増えるのです。

他にアドバイスの程、宜しくお願い申し上げます。

投稿日時 - 2018-03-15 21:03:41

ANo.4

>構文解析中にファイルの終わりに移りました。
>コンパイルエラーが解読できません。
回答N0.2の指摘通りですが、}の不足を補っても他のエラーが出るかも知れません。
あなた自身がコーディングしたものとは思えません。
元のコードと全文を丁寧に比較してみることをお薦めします。
何度も申し上げますが、あなたのPCを直接操作できる指導者に協力して貰わないと同じことの繰り返しになります。

投稿日時 - 2018-03-15 07:41:09

お礼

ご回答誠にありがとうございました。

投稿日時 - 2018-03-15 19:26:44

ANo.3

>どの辺りを見直せばよいでしょうか?

全部です。

投稿日時 - 2018-03-15 07:14:50

ANo.2

>構文解析中にファイルの終わり

このエラーは{で始まったものが}で終わっていない時に出されます。
きちんと字下げして確認しましょう。

投稿日時 - 2018-03-15 05:50:46

ANo.1

良く見直してください

投稿日時 - 2018-03-15 02:59:38

お礼

ご回答誠に有難うございます。

度々申し訳ありません。

どの辺りを見直せばよいでしょうか?

投稿日時 - 2018-03-15 05:13:02