【发布时间】:2015-09-24 02:39:59
【问题描述】:
对不起,伙计们,这是我编程的第一周,我的任务是设计一个程序,根据用户输入计算正常工资和加班工资,但是当我以 5.5 小时或费率计算时,它给了我错误,我真的没有明白为什么
如果有办法修复错误,那么如何在输出整数的末尾去掉 .0?非常感谢,老师只是假设我参加AP CS的时候我们知道所有的东西,这是去年“入门课”的复习,所以我有点不知所措,如果还有时间,请你解释一下背后的机制“双倍的”?到目前为止,据我了解,这意味着您可以使用小数,而不是 int,您只能在此处放置整数代码
`
import javax.swing.JOptionPane;
public class Salary
{
public static void main(String[] args)
{
String s1, s2;
double number1, number2;
s1=JOptionPane.showInputDialog("Enter the number of hours worked");
s2=JOptionPane.showInputDialog("Enter the rates per hour");
number1 = Integer.parseInt ( s1);
number2 = Integer.parseInt ( s2);
double elseregularp = ( 40*number2);
double regularp = ( number1*number2);
double othours = (number1-40);
double othourspay = ( number2* 15/10.0);
if( number1 <= 40)
{
System.out.println("YOU WORKED "+number1+" HOURS" );
System.out.println("YOU EARNED $"+number1 * number2+" REGULAR PAY");
}
else
{
System.out.println("YOU WORKED " + number1+" HOURS");
System.out.println("YOU EARNED $"+elseregularp+" REGULAR PAY");
System.out.println("AND $" +(othours)*(othourspay)+ " IN OVERTIME");
System.out.println("YOUR TOTAL CHECK IS $" + ((elseregularp)+(othours)*(othourspay)));
}
}
}
`
【问题讨论】:
-
Integer.parseInt(...)方法只解析整数字符串,不解析浮点数学字符串。为此,您需要Double.parseDouble(...)。 -
首先,总是告诉我们您的错误。没有人想猜测或尝试阅读代码来弄清楚。其次,确定那些错误中给出的相应代码行。第三,阅读这些错误并尝试找出它们。大多数都不难理解并且是自我描述的。最后,查看代码,看看你所做的是否有意义。
标签: java