我有这个项目要做,我不知道要穿什么步骤
编写一个java程序,将员工信息存储在链表中,即程序 应该实现以下功能:
程序应显示功能列表,并要求用户输入号码 他/她想要做的功能,然后执行上表中所需的功能。
这就是我做的事情
import java.util.Scanner;
import java.util.LinkedList;
import java.util.Collections;
import java.util.ListIterator;
public class LinkedListEmployee {
//------------start of employee class--------
private class Employee {
private String empNumber;
private String name;
private String department;
private int empTest;
private double salary;
public Employee() {
empNumber = null;
empTest= 0;
name = null;
department = null;
salary = 0.0;
}
}
//------------end of employee class--------
public static void main(String args[]) {
LinkedList<Employee> empTest = new LinkedList<Employee>();
System.out.println("\nMENU\n1.Add Employee\n2.Update");
Scanner in = new Scanner(System.in);
int choice = in.nextInt();
if (choice == 2)
System.out.println("Enter employee’s name");
String nm = in.nextLine();
update(nm, empTest);
}
public static void update(String namePara, LinkedList<Employee> empTest) {
ListIterator<Employee> litr = empTest.listIterator();
Employee tempEmp;
Scanner in = new Scanner(System.in);
while (litr.hasNext()) {
tempEmp=litr.next();
if (tempEmp.name.equals(namePara)) {
System.out.println("Enter new address");
String add = in.nextLine();
System.out.println("Enter new salary");
String sal = in.nextLine();
//tempEmp.Empaddress = add;
tempEmp.salary = Double.parseDouble(sal);
break;
}
}
}
}
它终于有效了吗?或者还有更多的步骤!提到这个问题?
请帮助我了解步骤
答案 0 :(得分:1)
根据你的评论来回应你得到的错误(&#34; listIterator litr = empTest.listIterator();找不到符号 - 类listlterator&#34;):
listIterator
类型未知,您正在寻找ListIterator
,因此请更改
listIterator<Integer> litr = empTest.listIterator();
到
ListIterator<Integer> litr = empTest.listIterator();
在此之后编辑下一个错误:&#34; ListIterator litr = empTest.listIterator();找不到符号 - 变量empTest&#34;:
该列表仅在主方法的scope内可见,因为它在那里声明。一种可能性是将列表与方法调用一起传递,因此更改
public static void Update(String name) {
到
public static void update(String name, LinkedList<employee> empTest) {
并将缺少的列表传递给main方法的更新方法:
update(nm, empTest); //instead of Update(nm);
或者,您可以扩大列表的范围并为整个类声明它,如@Dude的注释中所述,但这应该小心处理,因为这会加强对象的保留状态(甚至在这种情况下,有问题。)
除此之外:类型在Java中是大写的(员工应该是Employee),而变量和方法以小写字母开头(Update()应该是update())。请查看this article。