0

私は java.util.Scanner.throwFor(スキャナのメイン 『java.util.InputMismatchException「スレッドで例外』エラーなぜ私はこのエラーを取得しています?(ダブル配列法)

を取得しています。 (Scanner.java:1530)at にあるjava.util.Scanner.nextInt(Scanner.java:2160)の でjava.util.Scanner.nextInt(Scanner.java: 2119)at SearchArray.main(SearchArray.java:10) "

このコードを実行しているとき。誰かが私が間違っていることを教えてもらえますか?検索されたトークンが が期待される型のパターンを一致させる、またはトークンが予想タイプの 範囲外であることをしないことを示すために、スキャナによってスロー

import java.util.Scanner; 
public class SearchArray { 
    public static void main (String args[]){ 
     //imput array size 
     //imput array digits 
     //imput element to search for 

     Scanner scan = new Scanner(System.in); 
     int size = scan.nextInt(); 
     double array[] = new double[size]; 

     for(int i = 0; i <= array.length-1; i++){ 
      array[i] = scan.nextDouble(); 
     } 

     double digit = scan.nextDouble(); 
     boolean bool = findElement(array,digit); 

     if(bool == true){ 
      System.out.println(digit + " was found in the array"); 
     }else if(bool == false){ 
      System.out.println(digit + " was NOT found in the array"); 
     } 
    } 

    public static boolean findElement(double[] array, double digit){ 
     boolean bool = false; 
     //accepts double array, double & returns boolean 
     //check if numnber entered is in the array 

     for(int i = 0; i <= array.length-1; i++){ 
      if(array[i] == digit){ 
       bool = true; 
      }else{ 
       bool = false; 
      } 
     } 

     return bool; 
    } 
} 
+0

「スキャナ」が「int」を期待しているときに、数字ではないものを入力していると思います。 –

+1

入力の詳細を入力できますか。だから私たちは簡単にコードをデバッグすることができます.David Wallaceが述べている問題にぶち当たっているかもしれません。 –

+1

[Input Mismatch Exception]の複製があります(http://stackoverflow.com/questions/14027537/input-mismatch-exception) – James

答えて

1

パブリッククラスInputMismatchException

この回答をご覧ください:https://stackoverflow.com/a/14027583/7421645あなたはなぜ例外が発生しているのか理解してください。例外をキャッチしよう:

try { 
    // ... 
} catch (InputMismatchException e) { 
    System.out.print(e.getMessage()); //try to find out specific reason. 
} 

私はまた、あなたの期待入力が期待される出力を提供することを確信している、少なくともまでは、最初のStringなどのテストデータを入力してみてくださいと思います。

String input = "1 fish 2 fish red fish blue fish"; 
Scanner s = new Scanner(input); 
関連する問題