する質問をすることでしか得られない、回答やアドバイスがある。9前提・実現したいことRPGでスライムと会敵したときに、ScannerのnextIntを使って数字でその後の行動を受け付けたい。発生している問題・エラーメッセージ質問のタイトルにもあるようにScanner#nextInt(書き方あってるかわからない)を使った時に入力をしていないにも関わらずNoSuchElementExceptionが発生します。}}Attack.player()などの○○.player()は、Attack.player()であればSystem.out.println("attacked");を実行するだけです.試したことNoSuchElementExceptionが何故出るのかと思い、Googleで検索してみましたが、解決方法を見つけることはできませんでした。Neon日本語版を使用しています。初心者中の初心者ですので、私の質問で不足しているところがあればご指摘のほどよろしくお願いします。attachmentクリップ0気になる質問をクリップするクリップした質問は、後からいつでもマイページで確認できます。クリップした質問に回答があった際、通知やメールを受け取ることができます。自分も答えを知りたい質問者以外のユーザにも役立つ評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。質問の評価を上げたことを取り消します低評価-評価を下げられる数の上限に達しました評価を下げることができません1日5回まで評価を下げられます1日に1ユーザに対して2回まで評価を下げられます質問の評価を下げるteratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。コメントをしてください。送信する質問の評価を下げる機能の利用条件この機能を利用するためには、以下の事項を行う必要があります。件sort評価が高い順sort新着順sort古い順linkcheckベストアンサー+7おそらく「Scannerの使い方が不適切」です。countメソッドは何度も呼び出されるメソッドだと思います。その中で毎回Scannerインスタンスをnewしてメソッドが終わるときにcloseしていますね?closeするとSystem.inもcloseされます。よって2回目にこのメソッドを呼び出したときには既にSystem.inはclose済みなので二度と入力処理はできません。そのためNoSuchElementExceptionが発生したのでしょう。対策:プログラムの中ではScannerは一度だけ生成し、それをずっと使い続けてください。closeをする適切なタイミングはアプリケーションを終了するときです。countメソッドの中でScannerインスタンスが必要なのでcountメソッドの引数として渡すかフィールドに覚えておくかしなければなりません。追記:staticメソッドを極力使わず、各クラスの各メソッドの引数に一々Scannerなどの情報を渡さずに済ます骨組みみたいなものを書いてみました。}}必要なインスタンス(RPGインスタンスやHeroインスタンス)の繋がりをフィールドに覚えておくとそのフィールドを通じて必要なインスタンスの必要な情報に全て手が伸ばせるという感じです。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。18:07KSwordOFHasteさん、回答ありがとうございます。あなたのおかげで、解決することができました。対策に書かれた、「フィールドに覚えておく」というものの、やり方がわかりません。良ければ教えていただけると幸いです。KSwordOFHasteさん、回答ありがとうございます。あなたのおかげで、解決することができました。対策に書かれた、「フィールドに覚えておく」というものの、やり方がわかりません。良ければ教えていただけると幸いです。18:28追記いただきありがとうございます。おかげで今回の原因と対策を理解することが出来ました。よって、KSwordOfHasteさんをベストアンサーとさせていただきます。*他の方々も、回答ありがとうございます。*追記いただきありがとうございます。おかげで今回の原因と対策を理解することが出来ました。よって、KSwordOfHasteさんをベストアンサーとさせていただきます。*他の方々も、回答ありがとうございます。19:27失礼しました。3日風呂に入れないのくだりが印象に残ってたのでつい...失礼しました。null;だと思われます。Scanner(System.in);にしてみてください。(数字以外が入力されたとき出るエラーです。System.out.println("数字を入力してください。評価が高い回答ほどページの上位に表示されます。remove低評価1回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。16:38回答ありがとうございます。実行してみましたが、質問と同じエラーが帰ってきます。回答ありがとうございます。実行してみましたが、質問と同じエラーが帰ってきます。さん元のコードでもtryブロック内でしっかりScannerインスタンスを生成しているように見えるのですが。元のコードでもtryブロック内でしっかりScannerインスタンスを生成しているように見えるのですが。16:52Scannerをtry~catchの外に出しました。私が使っている環境ではScannerがtry~catchの中にあっても外にあってもエラーが出なかったのですが、環境によってはエラーが出るんですね。Scannerをtry~catchの外に出しました。外にあってもエラーが出なかったのですが、環境によってはエラーが出るんですね。先にヌルポが出るはずです。参照解決できませんから。先にヌルポが出るはずです。参照解決できませんから。対戦ゲーム受付中javaで数当てゲームを作りたいです。頂いたご意見への回答は行っておりません。