整数/双精度值

时间:2015-07-08 22:09:44

标签: 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,它就不会接受它并且会失败。 我该如何解决这个问题?

由于

1 个答案:

答案 0 :(得分:0)

您已将输入变量money定义为double,但您正在从扫描仪读取int:

 double money = sc.nextInt();

使用扫描仪nextDouble读取双输入而不是int。

 double money = sc.nextDouble();