[英]ArrayList won't print in console
我有一個Employee
類,其中有一個名為addEmployee
方法,它操縱ArrayList
來添加員工。 我的以下代碼不會在控制台屏幕上打印列表。 我無法找出我的代碼有什么問題。
package com.sib.Tmanager;
import java.util.ArrayList;
import java.util.Scanner;
public class Employee {
private String EmpFName;
private String EmpLName;
public Employee(String empFName, String empLName) {
super();
EmpFName = empFName;
EmpLName = empLName;
}
public String getEmpFName() {
return EmpFName;
}
public void setEmpFName(String empFName) {
EmpFName = empFName;
}
public String getEmpLName() {
return EmpLName;
}
public void setEmpLName(String empLName) {
EmpLName = empLName;
}
public static void addEmployee()
{
ArrayList<Employee> Emplist= new ArrayList<Employee>();
Scanner s=new Scanner(System.in) ;
System.out.println("Enter the Firstname of the employee");
String Fname= s.next();
System.out.println("Enter the Lastname of the employee");
String Lname= s.next();
Employee emp = new Employee(Fname, Lname);
Emplist.add(emp);
//System.out.println(emp.EmpFName +" "+ emp.EmpLName);
System.out.println(Emplist);
}
}
我試圖通過重寫ToString()方法來改變我的代碼,我仍然有相同的以下輸出。
輸入員工的名字
賈森
輸入員工的姓氏
卡爾
[com.sib.Tmanager.Employee@1a758cb]
這可能不是一個答案,而是關於課堂設計的一些建議。
Employee
視為物理對象。
Employee
應該有名字嗎? 是。 Employee
應該有姓嗎? 是。 Employee
充滿其他Employyes
? 絕對沒有。 EmployeeList
的類。 EmplpoyeeList
是否應該有Employees
? 為什么,當然! Employee
ArrayList
addEmployee
方法的地方,因此您可以添加Employee
EmployeeList
這是一個例子
public class EmployeeList {
ArrayList<Employee> employees;
public EmployeeList() {
employees = new ArrayList<Employee>();
}
public void addEmployee(Employee employee) {
employees.add(employee);
}
public void printEmployees() {
for (Employee e : employees) {
System.out.println(e);
}
}
}
所以在main
,你首先會創建一個EmployeeList
然后添加Employee
s。
public static void main(String[] args) {
EmployeeList list = new EmployeeList();
list.addEmployee(new Employee("Jim", "Bo");
list.addEmployee(new Employee("Foo", "Bar");
list.addEmployee(new Employee("First", "Last");
list.printEmployees();
}
注意: Employee
對象以String表示形式打印出來,您應該像其他人建議的那樣覆蓋toString()
方法。
您可以使用Arrays.toString(empList.toArray(new Employee[0]))
或empList.toString()
來打印ArrayList
的內容。 如果在Employee
覆蓋toString()
,這將很好地打印。
從public static void main()調用AddEmployee()
的System.out.println(Emplist)
你正在嘗試打印Emplist對象
你必須迭代arraylist來顯示它的內容
您應該在類字段中分配ArrayList並在構造函數中初始化它
public class Employee {
private String EmpFName;
private String EmpLName;
private ArrayList<Employee> Emplist;
.
.
.
}
public Employee(String empFName, String empLName) {
super();
ArrayList<Employee> Emplist= new ArrayList<Employee>();
EmpFName = empFName;
EmpLName = empLName;
}
現在,當您需要添加時,您只需:
this.Emplist.add(X);
在addEmployee方法中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.