javaに関しての質問です
下記のコードのjava.util.ScannerのnextInt()とnextLine()は同時実装できないんでしょうか?
他にも問題点はたくさんあるのですが、とりあえず上記の部分だけお願いいたします。
package HmwkHmwk; import java.util.InputMismatchException; import java.util.Scanner; public class Cst { public static void main(String[] args) { //スキャナーを使う Scanner sc = new Scanner(System.in); try { String[] str = {"exit","quit"}; while(!str.equals( sc.nextLine() )) { int n = sc.nextInt(); //ここでInputMismacthが起きる if(n < 71) { System.out.println(n+"番目のフィボナッチ数は:"+ Cst2.fbnt(n)); System.out.println(n+"番目までのフィボナッチ数列は:"+Cst2.fbn(n)); }else { System.out.println("範囲外です"); } } sc.close(); System.out.println(str +"が入力されたので処理を終了します"); }catch(InputMismatchException misma) { System.out.println(misma); } }
これを実行するとInputMismacthExeptionが出てきてしまいますどうしたらいいでしょうか?
具体的にどのような入力を与えることを想定しているのでしょうか。また、エラーメッセージをそのまま貼り付けるようにしてください。
さらに、こちら https://teratail.com/help/question-tips#questionTips3-5 を参照してコードブロックを適用し、質問が見やすくなるように配慮してください。
申し訳ないです。今すぐ読んで手直しします
入力は基本的にはフィボナッチ数列の番号を受け付けています。あとは"exit"と"quit"が入力されたら入力を終えます
一応なのですがfbnt()とfbn2()はフィボナッチ数列を表す式が入っています
具体的な入力例を出してください。
1 2 2番目のフィボナッチ数は:1 2番目までのフィボナッチ数列は: 1 2 2番目のフィボナッチ数は:1 2番目までのフィボナッチ数列は: 1 3 3番目のフィボナッチ数は:2 3番目までのフィボナッチ数列は: 2 4 4番目のフィボナッチ数は:3 4番目までのフィボナッチ数列は: 3 5 5番目のフィボナッチ数は:5 5番目までのフィボナッチ数列は: 5 exit java.lang.NumberFormatException: For input string: "exit"こんな感じです。
4番目のフィボナッチ数は:3 4番目までのフィボナッチ数列は: 3 4を入力した場合はこのように表示されます
exitを入力するとjava.lang.NumberFormatException: For input string: "exit" このように表示されます
「具体的な入力例」を聞いているのですが?
あと、ここだと改行が適用されないので、質問編集で記載してください。

回答2件
あなたの回答
tips
プレビュー