好的,所以这就是我坚持的事情。代码编译。它会提示用户输入他们的销售。如果销售额超过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);
}
}
答案 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();
即可。