【发布时间】:2016-03-15 09:44:46
【问题描述】:
我正在尝试重写 toString() 以打印名称。我使用对象员工数组列表中每个员工的 getNm() 。员工有参数(工资、nm、工作时间、加班时间)
我已将我关注的代码加粗。
public class Main {
public static void main(String[] args){
workers workerlist = new workers();
workerlist.setNumberEmployees();
workerlist.instantiateEmployees();
System.out.println(workerlist.toString());
}
}
public class Employees extends workers{
public double pay;
public String nm;
public double hours;
public double overtime;
public Employees(double pay, String nm, double hoursWorked, double overtimeHours){
}
public double getPay(){
return pay;
}
public void setPay(double pay){
}
public String getNm(){
return nm;
}
public void setNm(String nm){
}
public double getHours(){
return hours;
}
public void setHours(double hours){
}
public double getOvertime(){
return overtime;
}
public void setOvertime(double overtime){
}
}
import java.util.ArrayList;
import java.util.Scanner;
public class workers{
public int employeenumber;
public String nm;
ArrayList<Employees> workerList = new ArrayList<Employees>();
Scanner input = new Scanner(System.in);
public void setNumberEmployees(){
System.out.println("How many employees do you have?");
employeenumber = input.nextInt();
}
public int getNumberEmployees(){
return employeenumber;
}
public void instantiateEmployees(){
for(int i=1; i<=employeenumber; i++){
workerList.add(new Employees(0.0, "nm", 0.0, 0.0));
}
}
public String toString(){
String st = "";
for(int i=0; i<employeenumber; i++){
**st += workerList.toString();**
// ".toString() is there to test the setting of parameters, I am interested in replacing this part.
}
return st;
}
}
预期输出 [员工 1 的姓名,员工 2 的姓名,...员工 n 的姓名]
【问题讨论】:
-
“测试参数设置”是什么意思?
-
查看 Object Employee 是否接受变量的实例化。因此,当我使用 workerList.toString() 运行时,它将为每个员工编号打印 [ , , , ,] @Maljam
-
你能添加你的预期输出吗?
标签: java eclipse string arraylist tostring