我有一个关于java的作业,我不确定我是否做对了

我有一个关于java的作业,我不确定我是否做对了,java,Java,Foo公司需要一个计算小时工工资的程序 美国劳工部要求员工在一周内工作超过40小时的任何时间都可以获得半小时的工资 例如,如果一名员工工作45小时,他们将获得5小时的加班时间,是基本工资的1.5倍 马萨诸塞州要求小时工的工资至少为每小时8美元 Foo Corp要求员工每周工作时间不得超过60小时 员工每小时最多可获得40小时的工资(工作小时数)×(基本工资)。每超过40小时,他们就会得到加班费=(基本工资)×1.5。基本工资不得低于最低工资(每小时8美元)。如果是,则打印一个错误。如果小时数大于

Foo公司需要一个计算小时工工资的程序

美国劳工部要求员工在一周内工作超过40小时的任何时间都可以获得半小时的工资

例如,如果一名员工工作45小时,他们将获得5小时的加班时间,是基本工资的1.5倍

马萨诸塞州要求小时工的工资至少为每小时8美元

Foo Corp要求员工每周工作时间不得超过60小时

员工每小时最多可获得40小时的工资(工作小时数)×(基本工资)。每超过40小时,他们就会得到加班费=(基本工资)×1.5。基本工资不得低于最低工资(每小时8美元)。如果是,则打印一个错误。如果小时数大于60,则打印错误消息

创建一个名为FooCorporation的新类

编写一个以基本工资和工作小时数为参数的方法,并打印总工资或错误。编写一个main方法,为每个员工调用此方法:

基本工资工作时间员工1$7.50 35员工2$8.20 47员工3$10.00 73

您必须从该格式的文本文件中读取基本工资和工时

Employee, basePay, hours
1, 8, 40,
2, 9, 33,
3, 10, 70
这是我的密码:

package foocorporation;

public class FooCorporation {
    double minimumWage = 8.0;
    int maxHours = 60;
    float x;
    int y;


    public static void main(String[] args) {
        salaryCalculation(x,y, minimumWage, maxHours);
        salaryCalculation(x,y, minimumWage, maxHours);
        salaryCalculation(x,y, minimumWage, maxHours);

   }
     public static void salaryCalculation
    (double basePay, int hoursWorked, double minimumWage, int maxHours){
        double totalSalary = 0;
        if ((basePay < minimumWage) || (hoursWorked > maxHours)){
            System.out.println("Error!");
        }
        else {  
            if (hoursWorked > 40){
                totalSalary = basePay * 40 + 1.5*basePay*(hoursWorked - 40);
            }
            else {
                totalSalary = basePay * hoursWorked;
            }
            System.out.println("Your total salary is " + totalSalary);
        }
    }

}
包装食品公司;
公共类食品公司{
双倍最低工资=8.0;
int maxHours=60;
浮动x;
int-y;
公共静态void main(字符串[]args){
工资计算(x、y、最低工资、最高小时);
工资计算(x、y、最低工资、最高小时);
工资计算(x、y、最低工资、最高小时);
}
公共静态空薪计算
(双倍基本工资,工作时数,双倍最低工资,工作时数){
双倍总工资=0;
如果((基本工资<最低工资)| |(工作小时数>最高小时数)){
System.out.println(“错误!”);
}
否则{
如果(工作小时数>40){
总工资=基本工资*40+1.5*基本工资*(工作小时数-40);
}
否则{
总工资=基本工资*工作小时数;
}
System.out.println(“您的总工资为”+总工资);
}
}
}
看看这个

更新 如果您希望按照稍后的要求从用户处获取输入

public class FooCorporation {
    static final double minimumWage = 8.0; // static means that can be accessed without creating an object of the class and instantiating it
    static final int maxHours = 60; // final means constant = cannot be changed after declared
    static double basePay=0; // initialize them to zero, at least you know your program won't throw null pointer exception if forgot to set their 
                             //values before invoking the method
    static int hoursWorked=0;


    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        for (int i=1; i<=3; i++, System.out.println()){
           System.out.println("For Employee Number: " + i);
           System.out.println("Enter Base Pay:");
           basePay = in.nextDouble();
           System.out.println("Enter Hours Worked:");
           hoursWorked = in.nextInt();
           salaryCalculation(); 
       }
   }
     public static void salaryCalculation(){
        double totalSalary = 0;
        if ((basePay < minimumWage) || (hoursWorked > maxHours)){
            System.out.println("Error!");
        }
        else {   

        if (hoursWorked > 40){
                    totalSalary = basePay * 40 + 1.5*basePay*(hoursWorked - 40);
                }
                else {
                    totalSalary = basePay * hoursWorked;
                }
                System.out.println("Your total salary is " + totalSalary);
            }
        }

    }
包装食品公司;
公共类食品公司{
最终静态双最低工资=8.0;
最终静态int最大小时数=60;
公共静态void main(字符串[]args){
浮动x;
int-y;
x=7.5f;
y=35;
工资计算(x,y);
x=8.2f;
y=47;
工资计算(x,y);
x=10.0f;
y=73;
工资计算(x,y);
}
公共静态无效工资计算(双基薪,工作时间内){
双倍总工资=0;
如果((基本工资<最低工资)| |(工作小时数>最高小时数)){
System.out.println(“错误!”);
}
否则{
如果(工作小时数>40){
总工资=基本工资*40+1.5*基本工资*(工作小时数-40);
}
否则{
总工资=基本工资*工作小时数;
}
System.out.println(“您的总工资为”+总工资);
}
}
}

为什么要三次调用salaryCalculation方法?从代码中,我看到您正在将
null
作为前两个参数传递到
salaryCalculation
。在这里,您可以将最低工资和最高小时作为最终参数,无需将其作为参数传递。我投票结束这个问题,因为“我不确定我是否做得对“对于SO来说,这不是一个有效的问题,尤其是在没有对可能出现的问题进行进一步评论的情况下。现在检查一下。它正在运行。我需要从用户那里获取输入。如果我必须获取一个文本文件作为输入,才能获取员工的工资,该怎么办?在同一代码中,如果代码必须从这种格式的文本文件中读取基本工资和小时数,该怎么办。员工,基本工资,1小时,8小时,40小时,2小时,9小时,33小时,3小时,10小时,70小时,怎么做?
For Employee Number: 1
Enter Base Pay:
7.5
Enter Hours Worked:
35
Error!

For Employee Number: 2
Enter Base Pay:
8.2
Enter Hours Worked:
47
Your total salary is 414.1

For Employee Number: 3
Enter Base Pay:
10
Enter Hours Worked:
37
Your total salary is 370.0
package foocorporation;

public class Foocorporation {
    final static double minimumWage = 8.0;
    final static int maxHours = 60;   
public static void main(String[] args) {
    float x;
    int y;
    x=7.5f;
    y=35;
    salaryCalculation(x,y);
    x=8.2f;
    y=47;
    salaryCalculation(x,y);
    x=10.0f;
    y=73;
    salaryCalculation(x,y);
   }
public static void salaryCalculation(double basePay, int hoursWorked){
    double totalSalary = 0;
    if ((basePay < minimumWage) || (hoursWorked > maxHours)){
    System.out.println("Error!");
}
    else {  
        if (hoursWorked > 40){
        totalSalary = basePay * 40 + 1.5*basePay*(hoursWorked - 40);
        }
        else {
        totalSalary = basePay * hoursWorked;
        }
        System.out.println("Your total salary is " + totalSalary);
    }
}
}