【发布时间】:2017-02-26 21:37:27
【问题描述】:
我一直在尝试创建一个小程序,提示用户输入,将员工姓名和薪水添加到 arrayList,然后在屏幕上显示选项(例如 0:退出,1:添加,2:显示),读取输入,然后根据输入继续。显示将只是(例如姓氏:史密斯薪水:14000 英镑。只需要一些帮助来指出我正确的方向。我目前有 3 个类 Employee、Employee List 和 Employee测试。
这个类提示用户输入。
import java.util.Scanner;
public class Employee {
private String Last_Name;
private int Salary;
public Employee(){
Scanner inputValues = new Scanner(System.in);
System.out.print("Enter employee last name: ");
Last_Name = inputValues.next();
System.out.print("Enter Employee Salary: " + "£");
Salary = inputValues.nextInt();
}
public void Display(){
System.out.printf("Name: " + Last_Name + " " + "Salary: " + Salary);
System.out.println("\n");
}
}
这个类应该将员工添加到一个数组列表中,但我不确定我是否正确。
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class EmployeeList extends Employee{
private List <Employee> employee = new ArrayList<Employee>();
public EmployeeList(Employee person) {
employee.add(person);
}
public void DisplayEmployees(){
System.out.println("Employee:" + employee.size());
displayList(employee);
}
public static void displayList(List employee) {
}
}
这是主要方法所在
import java.util.Scanner;
public class EmployeeTest {
public static void main(String[] args) {
Employee employee = new Employee();
employee.Display();
EmployeeList empList = new EmployeeList(employee);
empList.DisplayEmployees();
Scanner scanner = new Scanner(System.in);
System.out.println("0: quit, 1: add, 2: display");
String employees = scanner.next();
/* if (employees.equals("1")){
//not sure how to go back to displaying the user prompts
break;
} */
}
}
【问题讨论】:
-
您的问题是什么?您需要有关代码注释部分的帮助吗?
-
同样使用当前代码
EmployeeList不是那么有用,因为您只能使用构造函数添加元素,这意味着该类的每个实例在他的列表中只能有一个Employee对象。 -
如何将用户输入的信息添加到数组列表中,然后显示选项。我可以退出(停止程序),添加(添加员工姓/薪水)或显示数组列表中的内容?
-
Java 字段名(变量名)是驼峰式,如 lastName 和 Salary.. 您的 Employee 类应该是一个带有 getter 和 setter 的普通 Java 类。您的 Scanner 输入应该在您的 EmployeeTest 类中。 EmployeeList 不应扩展 Employee。
-
要退出程序,您可以在main方法中添加
return;或使用System.exit(0);方法;要将员工添加到列表中,您应该在EmployeeList中声明一个add(Employee employee)方法;要显示员工信息,您必须遵循 @GilbertLeBlanc 的建议,将您的Employee设置为 Plain Old Java Object 并使用 getter 获取数据。
标签: java oop arraylist java.util.scanner user-input