这是我正在尝试运行的程序。我试过两个不同的系统,我在两者上得到完全相同的错误信息。每当我输入带有小数的价格时,我都会收到错误消息,例如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:\ Users [用户名] \ AppData \ Local \ NetBeans \ Cache \ 8.2 \ executor-snippets \ debug.xml:83:Java返回:1
解决方案比我最初设想的简单。 @DualCoreMax对解决方案有正确的心态。也就是说,当用户输入价格时,用户需要使用逗号来区分整数和十进制数之间的差异。
我认真地认为我的手上有一个更大的问题,很高兴只是我自己的愚蠢。谢谢所有来帮助我的人,一年级学生。