这是我收到的错误。我的Java程序编译没有任何错误,但不会完全运行
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.nextDouble(Scanner.java:2413)
这是我正在使用的代码。我可以输入“姓氏”,但是我收到上面显示的错误消息。任何帮助将不胜感激。
import java.util.*;
public class lab81
{
public static void main(String args[])
{
Scanner input = new Scanner(System.in);
System.out.print("Enter last name:");
double lastName;
lastName = input.nextDouble();
System.out.print("Enter first name:");
double firstName;
firstName = input.nextDouble();
System.out.print("Enter this years units:");
double thisYearsUnits;
thisYearsUnits = input.nextDouble();
System.out.print("Enter last years units:");
double lastYearsUnits;
lastYearsUnits = input.nextDouble();
double numberOfUnits = thisYearsUnits;
final double UNITS1 = 1000;
final double UNITS2 = 3000;
final double UNITS3 = 6000;
final double BONUS1 = 25;
final double BONUS2 = 50;
final double BONUS3 = 100;
final double BONUS4 = 200;
if(thisYearsUnits < lastYearsUnits)
{
double bonusAmount;
bonusAmount = 0;
System.out.println(lastName + ", " + firstName);
System.out.println("Bonus is $" + bonusAmount);
}
else if(numberOfUnits <= UNITS1)
{
double bonusAmount;
bonusAmount = BONUS1;
System.out.println(lastName + ", " + firstName);
System.out.println("Bonus is $" + bonusAmount);
}
else if(numberOfUnits <= UNITS2)
{
double bonusAmount;
bonusAmount = BONUS2;
System.out.println(lastName + ", " + firstName);
System.out.println("Bonus is $" + bonusAmount);
}
else if(numberOfUnits <= UNITS3)
{
double bonusAmount;
bonusAmount = BONUS3;
System.out.println(lastName + ", " + firstName);
System.out.println("Bonus is $" + bonusAmount);
}
else if(numberOfUnits > UNITS3)
{
double bonusAmount;
bonusAmount = BONUS4;
System.out.println(lastName + ", " + firstName);
System.out.println("Bonus is $" + bonusAmount);
}
}
}
你认为'nextDouble'有什么用途?自从什么时候是姓氏数字? – 2015-04-05 00:29:21
当你在调试器中遍历代码时,你看到了什么? – 2015-04-05 01:07:08