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