問題タブ [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 - 整数フィールドへの文字列入力の InputMismatchException
整数フィールドに非整数を入力するのに問題があります。他の人が私のプログラムを使用/作業した場合に、これを取得しないように予防策を講じているだけですInputMismatchException
。
input
変数に数字以外の文字を入力すると、上記のエラーが発生します。NullPointerException
文字列に関しては、これを補う方法はありますか?
このコードは、問題の原因となっている関連部分を含めるためだけに編集されています。
java - Java、スキャナーでトライキャッチ
私は小さなアルゴリズムを作成していますが、これはその一部です。
ユーザーが整数以外の値を入力した場合、メッセージを出力して、ユーザーに再度数値を入力させたい:
終わりのないループが発生していますが、その理由がわかりません。
ユーザーが整数以外の数値を入力したかどうかを確認するにはどうすればよいですか?
ユーザーが整数以外の数字を入力した場合、ユーザーに再度入力するように求めるにはどうすればよいですか?
更新
例外を印刷しているときに「InputMismatchException」が発生しました。どうすればよいですか?
java - Scanner.nextLong() が try ブロックから InputMismatchException をスローした場合、Scanner.next() はどのようにして catch ブロックで同じ値を取得しますか?
Javaで次のコードを実行すると:
}
入力を「23333333333333333333333333333333333333」と入力すると、次の出力が得られます。
23333333333333333333333333333333333333333 can't be fitted anywhere.
sc.nextLong()
スローされた場合、catch ブロックの は、try ブロックに入力された値とまったく同じ値をInputMismatchException
どのように取得しますか? ここでconsoleenterコードからの入力を求めるべきではありませんか?sc.next()
sc.nextLong()
java - スキャナが null で InputMismatchException をスローする
このコード ブロックを実行します 最初の入力を挿入しますが、入力ごとに null が表示され、クラッシュします 誰かがそれを実行して、同じ問題があるかどうかを教えてください BlueJ コンパイラを使用します
java - do while ループが無限に実行されるのはなぜですか?
ユーザーがその週の費用を入力するプログラムを作成しようとしています。問題は、受け入れられない入力が入力された場合にプログラムにユーザーに再質問させたいという事実にあります。負の値を検出する方法を見つけましたが、入力ミスマッチ例外 (文字または文字列が入力された場合) をキャッチしようとすると、ループが無限に実行され、「Monday Expenses:」を求められます。もう一度答えるチャンスはありますか?私は休憩を試みました。しかし、それはdo whileループからも抜け出しました。これは望ましくありません。
これまでの私のコードは次のとおりです。
ご協力いただきありがとうございます
java - 入力不一致エラー
だから、ここにこの小さなプログラムがあり、入力不一致エラーが発生しています。コードの下にエラーメッセージを投稿します。正直なところ、エラーが表示される理由はわかりません。必要なすべての変数に正しい型が割り当てられていることを確認しました。私の理解が正しければ、予期しないものを入力しようとすると、上記のエラーが発生しますよね? ( int などではなく double )。なんらかの理由で見えないどこかで愚かな間違いを犯した可能性があるので、助けていただければ幸いです。
これが私の main() メソッドの内容です。エラーは次の行に表示されます: placilo = sc.nextInt()。上記のエラーのコピーは次のとおりです。
私が入力した入力は、基本的に、1 1 1 1 2 1... などの個別の整数の行です。さまざまな例がありますが、それらはすべて長さが異なる整数の行です。
ジョージ・チェリオ
java - Java InputMismatchException 不明なソース
エラーの原因を見つけるのに苦労しています。私がしているのは、ファイルからテキストを読み取ることだけです
エラー メッセージには InputMismatchException が表示されます。
problem3.txt の内容は次のとおりです (3 行、スペースなし)。
InputMismatchException に対処する他の質問を検索しましたが、ほとんどに「間違った形式」のエラーがあります (int を文字列として読み取ろうとしている、またはその逆)。しかし、私の場合、ファイルの内容はすべて整数であるため、問題はありません。
また、エラーは「改行文字 (\n)」にある可能性があると考えました。だから試した
そしてその逆
どちらも同じ行で同じエラーを出します。
単純な問題のように思えますが、私はそれを見つけることができません。前もって感謝します。
問題が解決しました: エンコーディングを Cp1252 に変更したところ、2 が読み取られました。どうもありがとうございました
java - ブール値を読み取っている InputMismatch 例外
いくつかの値を含むファイルがあります:
これらの値を 2D に読み込む必要がありますArrayList
。最初の 2 つの値 (11 と 8) は、それぞれ行と列の数になります。コードは次のとおりです。
問題は、プログラムが最初の 2 つの数値を正常に読み取り、ブール値になると、オンラインで InputMismatch 例外をスローすることです。
だから私はその理由を理解できません。0
次に読む必要があり、ブール値です-では、実際に何が一致していないのでしょうか?
buffer
また、 type を integer に変更してから assign するとscanner.nextInt()
、プログラムはすべての値を適切に読み取るため、出力にすべての値が表示されることも指摘します。もちろん、それをArrayList
機能させるために Integer に変更できますが、ブール値のみを保持するため、意味的に間違っています。誰でも問題を見つけるのを手伝ってもらえますか?
java - この場合、スキャナーが InputMismatchException をスローするのはなぜですか?
私はプログラミングの初心者であり、割り当てのために座標でスキャンする必要があります。入力は次のように与えられます。
5,4 4,5 8,7=6,3 3,2 9,6 4,3=7,6=9,8=5,5 7,8 6,5 6,4
そして、現在、スキャナーを機能させようとしています。2 つの while ループと 3 つの区切り文字 ("=" 、" "、",") を使用しました。これは、最後のループで得たものです。
そして、次のように出力されます。
ご覧のとおり、最後の座標を除くすべての座標を読み取ります。誰かが私が何をしなければならないかを知っていて、その理由を教えてくれますか?
更新 2015 年 9 月 11 日 22:36:
返信@ 複数のメソッドですが、1つのメソッドに入れると次のようになります