如果销售额大于一定金额,则无法获得if语句显示奖金金额 - JAVA

时间:2014-02-17 20:04:27

标签: java

好的,所以这就是我坚持的事情。代码编译。它会提示用户输入他们的销售。如果销售额超过3000美元或等于它,该计划应该打印出100美元的奖金。当我在提示时输入3000 +时,我无法理解为什么它不能打印出来。有人可以帮我吗?感谢任何可以的人。这是我的代码:

import java.util.Scanner;

public class Commission
{
        static Scanner keyboard;     // all methods will see it
    public static void main(String [] args)
    {

       double basePay = 500;
       double commission = 0.10;
       float sales; // A sales amount entered by the user.

        sales = 335;

        commission = sales * 0.10;

       String input; // To hold the user's input

      // Create a scanner object for keyboard input.
       keyboard = new Scanner(System.in);

      System.out.println("Enter your total sales for this month: ");
      input = keyboard.nextLine();
      System.out.println("Your Pay For This Month: ");
      System.out.println("Base Pay:$500.00 ");

         if (sales > 3000)
         System.out.println("BONUS for exceeding 3000 in sales: 100 ");


      System.exit(0);

    }
}

1 个答案:

答案 0 :(得分:3)

您只需分配sales一次,当程序要求销售输入时,将sales变量重新分配给该金额。在创建Scanner对象之后尝试此操作:

System.out.println("Enter your total sales for this month: ");
sales = keyboard.nextInt();

那应该按照你想要的方式读取输入的数字。您还可能希望将sales类型从float更改为int以获得更高的精度,因为浮点小数可能会失去准确性。或者您只需将keyboard.nextInt()更改为keyboard.nextFloat()

即可

另一个编程提示:请记住关闭您使用的所有I / O实用程序,在本例中为Scanner。完成使用后,只需致电keyboard.close();即可。