Java 如何创建带有数组的类,然后将值传递给程序?
我的课堂作业是这样的: “编写使用以下数组作为字段的Payroll类:Java 如何创建带有数组的类,然后将值传递给程序?,java,Java,我的课堂作业是这样的: “编写使用以下数组作为字段的Payroll类: employeeID—一个包含七个整数的数组,用于保存员工标识号。 应使用以下数字初始化阵列: 5658845 4520125 7895122 8777541 8451277 1302850 7580489 小时数-由七个整数组成的数组,用于保存每个员工的工作小时数 工资率-七个双倍数组,用于保持每个员工的小时工资率 工资-七个双倍数组,用于保存每个员工的总工资 类应该通过下标关联每个数组中的数据。 例如,小时数组元素0
- employeeID—一个包含七个整数的数组,用于保存员工标识号。 应使用以下数字初始化阵列: 5658845 4520125 7895122 8777541 8451277 1302850 7580489
- 小时数-由七个整数组成的数组,用于保存每个员工的工作小时数
- 工资率-七个双倍数组,用于保持每个员工的小时工资率
- 工资-七个双倍数组,用于保存每个员工的总工资
public class moduleArray2
{
final int NUM_EMPLOYEES = 7;
int[] employeeID = {5658845, 4520125, 7895122, 8777541, 8451277, 1302850, 7580489};
int[] hours = new int[NUM_EMPLOYEES];
double[] payRate = new double[NUM_EMPLOYEES];
double[] wages = new double[NUM_EMPLOYEES];
int employee = 0;
double wage = 0;
// setHours method
public void setHours(int[] time)
{
time = hours;
}
// setPayRate method
public void setPayRate(double[] pay)
{
pay = payRate;
}
// setWages method
public void setWage(int[] time, int[] pay)
{
for (int index = 0; index < NUM_EMPLOYEES; index++)
wages[index] = time[index] * pay[index];
}
//getEmployeeID method
public int getEmployeeID(int index)
{
return employee;
}
// getWage method
public double getWage(int index)
{
return wage;
}
}
公共类模块array2
{
最终雇员人数=7人;
int[]employeeID={56588454452012578951228777541845127713028507580489};
int[]小时=新的int[NUM_员工];
double[]工资率=新的double[NUM_EMPLOYEES];
double[]工资=新的double[NUM_员工];
int employee=0;
双倍工资=0;
//设定小时数法
公共无效设置小时数(int[]时间)
{
时间=小时;
}
//固定工资率法
公共无效支付率(双倍[]支付)
{
工资=工资率;
}
//固定工资法
公共无效设置工资(整数[]时间,整数[]支付)
{
对于(int index=0;index
该程序应该显示每个员工的编号,并要求用户输入该员工的工时和工资率。然后,它应该显示每个员工的身份证号码和总工资。当我运行该程序时,它只是将所有内容都列为零值,包括员工ID号
import java.util.Scanner;
public class moduleArrayDemo2
{
public static void main(String[] args)
{
final int NUM_EMPLOYEES = 7;
int[] time = new int[NUM_EMPLOYEES];
double[] pay = new double[NUM_EMPLOYEES];
// Create new Scanner object
Scanner keyboard = new Scanner(System.in);
// Create employee object
moduleArray2[] employee = new moduleArray2[NUM_EMPLOYEES];
// A loop that creates objects for each element
for (int i = 0; i < employee.length; i++)
employee[i] = new moduleArray2();
for (int i = 0; i < employee.length; i++)
{
System.out.print("Enter hours for Employee #" + employee[i].getEmployeeID(i) +
": ");
time[i] = keyboard.nextInt();
employee[i].setHours(time);
System.out.print("Enter how much Employee #" + employee[i].getEmployeeID(i) +
" makes per hour: ");
pay[i] = keyboard.nextDouble();
employee[i].setPayRate(pay);
}
for (int i = 0; i < employee.length; i++)
{
System.out.println("Employee #" + employee[i].getEmployeeID(i) +
" Wages: " + employee[i].getWage(i));
}
}
}
import java.util.Scanner;
公共类模块RAYDEMO2
{
公共静态void main(字符串[]args)
{
最终雇员人数=7人;
int[]时间=新的int[NUM_员工];
double[]工资=新的double[NUM_员工];
//创建新的扫描仪对象
扫描仪键盘=新扫描仪(System.in);
//创建员工对象
moduleArray2[]员工=新的moduleArray2[NUM_员工];
//为每个元素创建对象的循环
for(int i=0;i
我可以在一个简单的程序中创建数组,我可以用创建这些类的实例的程序来创建类。类中的数组…我感觉完全迷失了。我如何引用类中的数组来获取程序本身的值?任何反馈或建议都将不胜感激!首先,您弄乱了访问器方法的参数、其实际值和访问的对象
class ModuleArray2
int[] employeeID = {5658845, 4520125, 7895122, 8777541, 8451277, 1302850, 7580489};
int NUM_EMPLOYEES = employeeID.length; // I assume you've got it defined somewhere
int[] hours = new int[NUM_EMPLOYEES];
double[] payRate = new double[NUM_EMPLOYEES];
double[] wages = new double[NUM_EMPLOYEES];
// setHours method - will reassign the whole array of `hours` with the provided argument `time` ; I'm leaving this method with a signature that you have provided just to have a place to put my comment on it
public void setHours(int[] time) {
hours = time;
// time = hours; // this is wrong - it would assign class field value to the temporary argument variable `time`, and then just throw it away (since `time` in this scope is temporary)
}
// setHours method - will set working hours in one of an array `hours` elements specified by the provided index - number of an employee it refers to
public void setHours(int employeeNumber, int workedHours) {
hours[employeeNumber] = workedHours;
}
// setPayRate method - same as above
public void setPayRate(int employeeNumber, double payRate) {
payRates[employeeNumber] = payRate;
}
// setWage method - same as above
public void setWage(int employeeNumber, double wage) {
wages[employeeNumber] = wage;
}
// getWage method - will return the wage for employee given by an index in array number
public double getWage(int employeeNumber) {
return wages[employeeNumber];
}
//getEmployeeID method - will return an ID of employee given by an index in array number
public int getEmployeeID(int employeeNumber) {
return employeeID[employeeNumber];
}
//getEmployeeIndexFromID method - will return the index of employee given by his ID number - this is inverse function of the function 'getEmployeeID'
public int getEmployeeIndexFromID(int employeeID) {
int index;
// search implementation goes here
// you should try to write it on your own
return index;
}
}
根据Tax程序,将total变量更改为一个数组,该数组接受来自用户的5个双倍值,然后将其传递给Tax方法,以获得总计的税额。您的设置器是向后的。您有
时间=小时;
它将设置方法变量时间
(在执行该方法后不再存在)设置为hours
字段的值。您希望执行相反的操作:将字段hours
设置为time
变量的值(您传递给方法的内容)。酷。我继续切换了它们,但创建列表时程序仍将所有内容读取为零值:for(inti=0;i