問題タブ [inputmismatchexception]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - LOOP での InputMismatchException
問題の解決策を見つけようとしましたが、実際に機能する解決策が見つかりませんでした。ですから、解決策が何かわからない場合は、回答しないでください。私は本当に具体的な助けが必要です。
問題は、単純なコードを実行すると、番号を選択でき、ループが正常に機能することです。0 を選択しても機能します (実行は終了します) が、文字や文字列を入力すると問題が発生します... 別の値を入力しようとしても、例外が停止せずにループし続けます。
PS。ここではスキャナーを使用する必要があるため、リーダーなどについては書かないでください。この特定の問題を解決する方法だけです。
乾杯、
コードは次のとおりです(メインのみ):
java - Java: Do-While ループ内の Try-Catch ステートメント
ユーザー入力値をスキャンするコードを少し実行しようとしています。このアクションは、私が作成した getTriangleDim(); という名前のカスタム メソッドに含まれています。メソッドはユーザーの int 値を読み取り、それが特定の範囲内にあることを確認してから、入力された int 値を返します。この方法はうまく機能し、問題はありません。
getTriangleDim() メソッドに int 以外の値を入力すると、問題が発生します。InputMismatchException エラーが発生します。この問題を解決するために、do-while ループに try-catch ステートメントを記述しました。しかし、try-catch ステートメントを使用したのはこれが初めてで、何かが足りないようです。
do-while ループ内にネストされた try-catch ステートメントのコードを次に示します。
int の代わりに char 値を入力してテストすると、実際にはエラーが 1 回検出され、"you did not....." ステートメントが出力されます。しかし、int 以外の別の数値を再入力すると、実行時エラーが再び表示されます........あなたはそれを推測しました........ InputMismatchException エラー。
私のメソッドのコードは次のとおりです。
続行するには Do-While ループが必要ですが、これらのエラーが発生し続けます。
java - 文字列値が int 変数に渡されないようにするにはどうすればよいですか?
私はまだプログラミングに非常に慣れていません。私が取ったプログラミングのクラスは、C++ が 1 つ、Java が 2 つ、合計 3 つだけです。
独自のバージョンの Battleship を作成することにしました。私は多かれ少なかれプロジェクト全体を完了しました。私の問題は、ユーザーが実際に有効な情報を入力していることを確認するためのユーザー検証の手段を提供することでした。
ネストされた do-while ループ内に大量のコードがあり、特定の条件が false を返す場合にそれぞれが繰り返されます。
ゲーム ボードを表す Board クラスを作成しました。これは、コードからメソッドを除いたものです。
これは placeBoats() メソッド全体です
これは私の placeBoats() メソッドです。Player クラスには、作成された Player オブジェクトの総数の静的変数があり、各オブジェクトには独自の一意のプレーヤー番号があります。
行中でない限り、ドライバークラスでプログラムを実行すると、すべて正常に動作するようです....
.... ユーザーが文字列を入力します。その場合、コンパイラは InputMismatchException をスローします。
このエラーが発生する理由は理解していますが、ユーザーが文字列を入力できないようにするにはどうすればよいですか? ユーザー入力行に続く2つのwhile()ステートメントでそれが処理されると思いましたが、文字列が指定された場合でも例外がスローされます...
これを修正する方法についてのアイデアはありますか? ところで、これは私の最初の投稿なので、あまりにも多くのコードを投稿した場合は申し訳ありません. 私は漠然としたよりも具体的であると考えました。
編集: CB、ccjmne、ryvantage、および返信してくれたすべての人に感謝します。あなたの意見のすべてが、以下に示す最終的な解決策につながりました。それを行うより良い方法があれば、私に知らせてください。
java - 入力が無効な無限ループになるのはなぜですか?
最初の選択が無効な場合、これにより無限ループに陥るのはなぜですか?
出力:
java - ファイルからの読み取り時の入力の不一致
次のように整理されたデータを含むファイルがあります。
Hyundai Santa Fe
2005 16999 8
Mercury Mountaineer AWD
2004 17999 7.5
Mercury Grand Marquis
2006 19999 12.5
最初の行は車名、次の行は年式、価格、割引額です。私はこれらの行の多くを含むファイルを読み取ろうとしていますが、キッカーは、価格と割引が常に二重で表されるとは限らないことです.
これは私が書いたコードのスニペットですが、行を正しく解析していません。入力不一致の例外が発生します。
私は何を間違っていますか?
java - Java - 「java.util.InputMismatchException」エラーを別のものに置き換える方法
「java.util.InputMismatchException」が表示されないようにするにはどうすればよいですか?
例えば:
「5」などの有効な int を入力すると正常に動作しますが、ユーザーが「5.1」や「a」などの無効な int を入力すると、エラーException in thread "main" java.util.InputMismatchExceptionが発生します。 . ユーザーが無効な int を入力した場合、エラーを回避して表示/実行する方法はありますか?
そのようです:
java - 入力スキャナー使用時の InputMismatchException
さまざまな種類のデータのファイルを読み取るプログラムを作成しています。ファイルから作成したさまざまな配列にデータを渡そうとしています。
ファイルのサンプル部分 (改行のためダブルスペース。カテゴリ間の空白はタブ、姓名と国の間の空白はスペース)
しかし、コードをコンパイルすると、InputMismatchException が発生します。各行の終わりに続くタブがないという事実を扱っているかどうか疑問に思っています。誰でもこれで私を助けることができますか?