Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我输入十进制小时数时,为什么它会给我错误?_Java - Fatal编程技术网

Java 当我输入十进制小时数时,为什么它会给我错误?

Java 当我输入十进制小时数时,为什么它会给我错误?,java,Java,抱歉,伙计们,这是我编程的第一周,我的任务是设计一个程序,根据用户输入计算定期工资和加班工资,但当我把5.5小时或费率计算出来时,它会给我带来错误,我真的不明白为什么 如果有办法修复错误,那么如何去掉输出整数末尾的.0?非常感谢,老师在我上AP CS的时候以为我们都知道了,这是去年“入门课”的复习,所以我有点不知所措,如果还有时间,你能解释一下“双倍”背后的机制吗?据我所知,这意味着你可以使用小数而不是整数,在这里你只能把整数编码 ` import javax.swing.JOptionPane

抱歉,伙计们,这是我编程的第一周,我的任务是设计一个程序,根据用户输入计算定期工资和加班工资,但当我把5.5小时或费率计算出来时,它会给我带来错误,我真的不明白为什么

如果有办法修复错误,那么如何去掉输出整数末尾的.0?非常感谢,老师在我上AP CS的时候以为我们都知道了,这是去年“入门课”的复习,所以我有点不知所措,如果还有时间,你能解释一下“双倍”背后的机制吗?据我所知,这意味着你可以使用小数而不是整数,在这里你只能把整数编码

`

import javax.swing.JOptionPane;
公费
{
公共静态void main(字符串[]args)
{
字符串s1、s2;
双倍数字1,数字2;
s1=JOptionPane.showInputDialog(“输入工作小时数”);
s2=JOptionPane.showInputDialog(“输入每小时的费率”);
number1=Integer.parseInt(s1);
number2=Integer.parseInt(s2);
双elseregularp=(40*number2);
双调节器P=(1号*2号);
双小时=(数字1-40);
双othourspay=(数字2*15/10.0);
如果(number1integer.parseInt(…)接受的字符串值不是正确的输入值,请将其更改为parseDouble,以使其正常工作

修改后的最终代码

integer.parseInt(…)已更改为Double.parseDouble(…)

import javax.swing.JOptionPane;
公费
{
公共静态void main(字符串[]args)
{
字符串s1、s2;
双倍数字1,数字2;
s1=JOptionPane.showInputDialog(“输入工作小时数”);
s2=JOptionPane.showInputDialog(“输入每小时的费率”);
//number1=Integer.parseInt(s1);
//number2=Integer.parseInt(s2);
number1=Double.parseDouble(s1);
number2=Double.parseDouble(s2);
双elseregularp=(40*number2);
双调节器P=(1号*2号);
双小时=(数字1-40);
双othourspay=(数字2*15/10.0);
if(number1)
Integer.parseInt(…)
方法只解析整数字符串,不解析浮点数学字符串。为此,您需要
Double.parseDouble(…)
。首先,总是告诉我们你的错误。没有人想猜测或试图阅读代码来找出错误。其次,找出与这些错误中给出的代码对应的代码行。第三,阅读这些错误并试图找出它们。大多数错误不难理解,并且是自我描述的。最后,看看代码,看看你在说什么这样做甚至是有道理的。
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)));
            }
    }
}
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); 
        number1=Double.parseDouble(s1);
        number2=Double.parseDouble(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)));
        }
}