2016-12-25 5 views
-3

をint型。 プログラムの目的は、int型以外のint型のエラーメッセージを表示し、int型intに追加しないで、インテンジャーを追加する別のオプションをユーザーに与えるときです。あなたが好きなNumberFormatExceptionではなくInputMismatchExceptionをキャッチする必要が入力不一致が、私はこの小さなコードを持って

+3

スローされる例外は、 'InputMismatchException'で、他の例外の型ではない、つまり' NumberFormatException'ですか? –

+0

......私の悪い....あんたの努力のために非常にありがとう....私はそれをキャッチしなかった...今すぐスムーズに動く –

答えて

0

はそう:

import java.util.Scanner; 

class Main { 
    public static void main(String[] args) { 
    Scanner vloz = new Scanner(System.in); 
    int cisla = 0; 
    int i = 0; 
    while(i < 10){ 
     try { 
     System.out.print("Vloz cislo " + i + ":"); 
     int cislo = Integer.parseInt(vloz.nextLine()); 
     i++; 
     cisla = cisla + cislo; 
     } catch(NumberFormatException exception) { 
     System.out.println("Nevlozil si cislo!"); 
     } 
    } 
    float priemer = cisla/i; 
    System.out.println("Priemer cisel je " + priemer + "."); 
    } 
} 

は、あなたが間違った例外をキャッチhere!

0

それを試してみてください。メソッドparseInt(String s)は、NumberFormatExceptionではなく、InputMismatchExceptionをスローします。 catch節をcatch(NumberFormatException exception)に変更します。

0

import java.util。*; パブリッククラスデモ{

public static void main (String []args){ 

    Scanner vloz = new Scanner(System.in); 
    int cisla = 0; 
    int i = 0; 
    while(i < 10){ 
      try { 
       System.out.println("Vloz cislo " + i + ":"); 
       int cislo = Integer.parseInt(vloz.nextLine()); 
       ++i; 
       cisla = cisla + cislo; 
       } 
      catch(InputMismatchException exception){ 
       System.out.println("Nevlozil si cislo!"); 
       } 
      } 
    float priemer = cisla/i; 
    System.out.println("Priemer cisel je " + priemer + "."); 

} 

}

それがクラッシュした理由を私はわからないが、このコードは動作します。私はあなたがimport.javaを忘れているかもしれないと思います。*;

関連する問題