我正试图写一个代码,根据您捐赠的金额来说明您是否小气,赞助人等。
这是代码:
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,它不会接受它,会失败。我如何解决这个问题?
谢谢
您已将输入变量money定义为double类型,但这里从扫描仪读取的是整型:
double money = sc.nextInt();
使用Scanner nextDouble来读取双精度输入,而不是int。
double money = sc.nextDouble();