当前位置: 首页 > 知识库问答 >
问题:

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

唐运诚
2023-03-14

Foo Corporation需要一个程序来计算每小时员工的工资。

美国劳工部要求员工一周工作超过40小时,可以获得1.5小时的报酬。

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

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

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

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

创建一个名为FuCorporation的新类。

编写一个以基本工资和工作小时数为参数的方法,并打印总工资或错误。编写一个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);
        }
    }

}

共有2个答案

龙俊美
2023-03-14
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);
    }
}
}
云焱
2023-03-14

看看这个

如果您想按照稍后的要求从用户那里获取输入,请更新

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);
            }
        }

    }

结果将是您的输入,例如:

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
 类似资料:
  • 我需要创建一个带有签名的方法 此方法访问数组中的每个对象,并对属性租金求和并返回总金额。报税表:总租金 这是我的密码: 这是正确的吗?它一直说没有使用total变量,所以我不确定我是否做对了。

  • 为什么最后输出的是“WuffRingding”而不是“RingdingRingding”? 为什么最终输出是“颤动”而不是“振铃”?为什么最终输出是“颤动”而不是“振铃”?

  • https://github.com/Teemitze/TelegramBot 为什么没有显示雅各的统计数据?组装期间出现警告 由于缺少执行数据文件,跳过JaCoCo执行。

  • 问题内容: 我正在创建一个小型Java Jpanel游戏,其中应该有一个火箭,它通过箭头上下移动,并通过太空射击。 触发方法应按以下方式工作:按下空格键,东西触发并在屏幕上移动,然后当它碰到某个x时,它就会消失。此外,您只能发射一次,直到另一颗子弹消失为止。 我不知道我在做什么错。首先,在我的代码启动后,您会看到子弹在屏幕上飞舞。 2,子弹没有消失。 第三,即使其他子弹仍然可见,它也允许我再次开火

  • 将W,S和I,k绑定到乒乓球的左右桨。根据Eclipse,代码进入类p1_upaction扩展AbstractAction,但不运行公共void actionPerform(ActionEvent e)。我不知道该怎么办。键输入称为操作未注册。

  • 问题内容: 我想在Java中使用池化连接(因为每个线程创建一个连接非常昂贵),所以我正在使用该对象。我正在跨线程保留我的数据源。因此,我在整个应用程序中仅使用一个数据源,如下所示: 现在,我已经创建了数据源,然后在每个单独的线程中执行以下操作: 我猜我很困惑, 这真的 是在 获取池连接吗? 这个线程安全吗?我注意到PooledConnection具有诸如notify()和wait()之类的方法…这