整型/双精度值

  • 本文关键字:双精度 整型 java
  • 更新时间 :
  • 英文 :


我正试图写一个代码,根据您捐赠的金额来说明您是否小气,赞助人等。

这是代码:

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();

最新更新