2017-12-16 16 views
0

これは実行しようとしているプログラムです。私は2つの異なるシステムで試して、私は両方で正確に同じエラーメッセージを取得します。私は小数で価格を入力するたびにエラーメッセージを表示します(例:4.2)。複数のシステムとプログラムで同じエラーが発生する

プログラムのためのコード:

package grocerylist; 
import java.util.Scanner; 

public class GroceryList { 
    public static void main(String[] args) { 
     float [] prices = new float [5]; 
     Scanner in = new Scanner (System.in); 
     System.out.println("Enter 5 prices: "); 
     prices[0] = in.nextFloat(); 
     prices[1] = in.nextFloat(); 
     prices[2] = in.nextFloat(); 
     prices[3] = in.nextFloat(); 
     prices[4] = in.nextFloat(); 
     float total = prices[0] + prices[1] + prices[2] + prices[3] + prices[4]; 
     System.out.println("The total of the 5 items are: "+total);   
    } 
} 

エラーメッセージがライン12上にあり、このように書きます:

Exception in thread "main" java.util.InputMismatchException 
at java.util.Scanner.throwFor(Scanner.java:864) 
at java.util.Scanner.next(Scanner.java:1485) 
at java.util.Scanner.nextFloat(Scanner.java:2345) 
at grocerylist.GroceryList.main(GroceryList.java:21) 

C:\ユーザー[ユーザー名] \のAppData \ローカル\ NetBeansの\キャッシュ\ 8.2 \ executor-snippets \ debug.xml:83:Javaが返されました:1

+0

あなたは 'prices [5]'を使っていますが、最大インデックスは4です。また、コードを部分的にプレーンテキストとして表示しています。また、エラーによって報告された行番号を指摘してください。 – Marc

+0

これは@Marcの1つですが、エラーは 'Scanner in = new Scanner(System.in);またはそれに続く' in.nextFloat(); '部分 –

+0

@Marcで、価格に関する5番目のインデックスを削除しました。そして、エラーは12行にあります – Hjalla1

答えて

0

解決策は私が最初に想像したより簡単でした。 @DualCoreMaxはソリューションの正しい考え方を持っていました。つまり、ユーザーが価格を入力するときには、カンマ記号を使用して整数と小数を区別する必要があります。

私は真剣に私がここで私の手に大きな問題を抱えていると思っていました。嬉しいのは自分のばかげた問題です。私を助けに来た皆さん、初年度の学生に感謝します。

関連する問題