我正在开展一个相当大的项目,这只是其中包含的内容。基本上我创建了一个获取员工信息的课程,我们需要这样才能让用户输入双倍的工资率。说8.00。请注意,用户不能添加美元符号(例如$ 8.00),否则会提示用户发生错误。然而,当我测试运行代码时,代码只是崩溃而不是使用错误提示。
public static double getPayRate()
{
double payRate;
System.out.println("Please enter the employee's pay rate (a numeric value): ");
payRate = console.nextDouble();
while(console.hasNextDouble())
{
System.out.println("An error occured with your input...");
System.out.println("Please enter the employee's pay rate (a numeric value): ");
payRate = console.nextDouble();
}
return payRate;
}
}
答案 0 :(得分:0)
好的,所以使用你拥有的代码,这样的方法是这样的.. 虽然此代码用于检索double值,但建议在处理money时不要使用double,有关详细信息,请参阅此帖子。 Why not use Double or Float to represent currency?
import java.util.Scanner;
public class SOTest {
public static Scanner console = new Scanner(System.in);
public static double getPayRate()
{
while(true)
{
System.out.println("Please enter the employee's pay rate (a numeric value):");
try {
return Double.parseDouble(console.nextLine());
} catch(NumberFormatException ex) {
System.out.println("An error occured with your input...");
}
}
}
public static void main(String[] args) {
System.out.println(getPayRate());
}
}