我正在尝试编写一个代码,说明你是否是吝啬鬼,守护神等等,这取决于你捐赠的金额。
这是代码:
public class Donor {
public static void main(String [] args) {
System.out.println(" % java Donor");
System.out.print("Enter the amount of a contribution: $");
java.util.Scanner sc = new java.util.Scanner(System.in);
double money = sc.nextInt();
if ( money >= 0) {
if ( money < 15 ) {
System.out.println("Cheapskate!");
}
if ( money >= 15 && money < 200) {
System.out.print("Friend!");
}
if ( money >= 200 && money < 1000) {
System.out.println("Supporter!");
}
if ( money >= 1000 && money < 10000) {
System.out.println("Patron!");
}
if (money >= 10000) {
System.out.println("Benefactor!");
}
} else {
System.out.println("You have an entered an invalid value!");
}
}
}
问题是它只接受整数。如果我输入90.34,它就不会接受它并且会失败。 我该如何解决这个问题?
由于
答案 0 :(得分:0)
您已将输入变量money定义为double,但您正在从扫描仪读取int:
double money = sc.nextInt();
使用扫描仪nextDouble读取双输入而不是int。
double money = sc.nextDouble();