java将数组从方法复制到主方法
我被要求编写一个程序,在main方法中需要三个数组。该程序应该根据用户输入的工资率和小时数计算给定员工ID的工资总额。此外,它还要求我编写一个带有三个数组参数的calculateWages方法:小时、工资率和工资,该方法通过乘以相应的小时和工资率来计算和存储每个员工的工资
您的程序应显示每个员工编号,并要求用户输入该员工的工时和工资率。在获得所有员工的工时和工资率后,您的程序应调用calculateWages。接下来,您的程序应该显示每个员工的身份证号码和工资总额。注:雇员人数和最低工资均应命名为常量
public static void main(String[] args)
{
double[] employeeID = {5658845, 4520125, 7895122, 8777541, 8451277,1302850, 7580489}; //Employee IDs of which we are calculating gross wages for
double[] payRate = new double[7];
double[] employeeWages = new double[7];
double[] employeeHours = new double[7];
Scanner keyboard = new Scanner(System.in); //Needed for keyboard input
for (int i = 0; i<employeeID.length; i++)
{
System.out.println("Employee ID: " + employeeID[i]);
System.out.print("Enter the number of hours worked: ");
employeeHours[i]=keyboard.nextDouble();
//Get and validate hours from user.
while(employeeHours[i]<0)
{
System.out.println("Error. Hours worked must not be negative.");
System.out.print("Please enter hours worked: ");
employeeHours[i]=keyboard.nextDouble();
}
//Get and validate pay rate from employees.
System.out.print("Enter the pay rate of employee: ");
payRate[i]=keyboard.nextDouble();
while(payRate[i]<10.24)
{
System.out.println("Error. Minimum pay rate must be at least $10.24");
System.out.print("Please enter the pay rate: ");
payRate[i]=keyboard.nextDouble();
}
}
calculateWages(employeeWages, employeeHours, payRate);
System.out.println("Gross Wages:");
System.out.println();
for(int i=0;i<employeeID.length;i++)
{
System.out.printf("%-9d%-7s",employeeID[i],employeeWages[i]);
}
}
public static String[] calculateWages(double[] employeeWages, double[] inputHours,double[] payRate)
{
String[] formatWage = new String[7];
DecimalFormat formatter = new DecimalFormat("$###.00");
for(int i = 1;i<employeeWages.length;i++)
{
employeeWages[i]=inputHours[i]*payRate[i];
formatWage[i]=formatter.format(employeeWages[i]);
}
return formatWage;
}
}
# 1 楼答案
calculateWages正在返回一个数组,因此请将数组设置为等于它