无法获取if语句以显示销售额大于一定金额时的奖金金额-JAVA

无法获取if语句以显示销售额大于一定金额时的奖金金额-JAVA,java,Java,好吧,这就是我一直坚持的东西。代码可以编译。它会提示用户输入其销售额。如果销售额超过3000美元或等于3000美元,该计划应打印出100美元的奖金。我不明白为什么当我在提示时输入3000+时它不会打印出来。有人能帮我吗?感谢所有能做到的人。这是我的密码: import java.util.Scanner; public class Commission { static Scanner keyboard; // all methods will see it p

好吧,这就是我一直坚持的东西。代码可以编译。它会提示用户输入其销售额。如果销售额超过3000美元或等于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);

    }
}

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

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()使用完毕后

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

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()使用完毕后

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

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()使用完毕后

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

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()使用完毕后

您将sales初始化为335,并希望它严格优于3000。您尚未将
sales
设置为用户键入的值。在整个程序中,它保持在335。正确。用sales替换input,或者在if语句中使用input作为变量。顺便说一句,永远不要使用浮点表示货币。您应该使用
int
long
来表示整数美分,或者使用
BigDecimal
来表示十进制值。您将sales初始化为335,并希望它严格优于3000。您尚未将
sales
设置为用户键入的值。在整个程序中,它保持在335。正确。用sales替换input,或者在if语句中使用input作为变量。顺便说一句,永远不要使用浮点表示货币。您应该使用
int
long
来表示整数美分,或者使用
BigDecimal
来表示十进制值。您将sales初始化为335,并希望它严格优于3000。您尚未将
sales
设置为用户键入的值。在整个程序中,它保持在335。正确。用sales替换input,或者在if语句中使用input作为变量。顺便说一句,永远不要使用浮点表示货币。您应该使用
int
long
来表示整数美分,或者使用
BigDecimal
来表示十进制值。您将sales初始化为335,并希望它严格优于3000。您尚未将
sales
设置为用户键入的值。在整个程序中,它保持在335。正确。用sales替换input,或者在if语句中使用input作为变量。顺便说一句,永远不要使用浮点表示货币。您应该使用
int
long
来表示整数分,或者使用
BigDecimal
来表示十进制值。使用
nextInt()
来读取
float
类型的变量似乎是件奇怪的事情。谢谢!这就是问题所在。另外,谢谢你的提示。你是个圣人,谢谢你。很高兴我能提供帮助。使用
nextInt()
读取
float
类型的变量似乎很奇怪。谢谢!这就是问题所在。另外,谢谢你的提示。你是个圣人,谢谢你。很高兴我能提供帮助。使用
nextInt()
读取
float
类型的变量似乎很奇怪。谢谢!这就是问题所在。另外,谢谢你的提示。你是个圣人,谢谢你。很高兴我能帮忙。使用
nextInt()
读取
float
类型的变量似乎有点奇怪