链表步骤
Linked List steps
我有这个项目要做,但我不知道要穿什么步骤
写一个java程序,将员工信息存储在一个链表中,该程序
应实现以下功能:
- 函数
任务
- 插入新员工
添加新员工到链接
列出并存储员工的信息
( ID、姓名、地址、部门、
工资)
- 更新员工信息
修改现有员工信息
信息(更改地址和
仅工资)。你应该要求
要更新的员工 ID his/her
资讯
- 删除员工
删除员工使用
链表中的员工 ID
程序应显示函数列表,并要求用户输入数字
he/she 想要执行的功能,然后执行前面 table.
中要求的功能
这就是我所做的
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;
}
}
}
}
它终于起作用了??或者还有更多步骤要走!指的是问题?
请帮我知道步骤
根据您对所收到错误的回应 ("listIterator litr = empTest.listIterator(); cannot find symbol - class listlterator"):
类型listIterator
未知,您正在寻找ListIterator
,所以更改
listIterator<Integer> litr = empTest.listIterator();
到
ListIterator<Integer> litr = empTest.listIterator();
编辑下一个错误:"ListIterator litr = empTest.listIterator(); cannot find symbol - variable empTest":
该列表仅在 main 方法的 scope 中可见,因为它是在其中声明的。一种可能性是将列表与方法调用一起传递,因此更改
public static void Update(String name) {
到
public static void update(String name, LinkedList<employee> empTest) {
并将缺少的列表从主方法传递到更新方法:
update(nm, empTest); //instead of Update(nm);
或者,您可以扩大列表的范围并为整个 class 声明它,如@Dude 的评论中所述,但这应该小心处理,因为这会提高保留状态所讨论的对象(在本例中甚至是 class)。
旁白:类型在 Java 中大写(employee 应该是 Employee),而变量和方法以小写开头(Update() 应该是 update())。请看this article
我有这个项目要做,但我不知道要穿什么步骤
写一个java程序,将员工信息存储在一个链表中,该程序 应实现以下功能:
- 函数
任务 - 插入新员工
添加新员工到链接 列出并存储员工的信息 ( ID、姓名、地址、部门、 工资) - 更新员工信息
修改现有员工信息 信息(更改地址和 仅工资)。你应该要求 要更新的员工 ID his/her 资讯 - 删除员工
删除员工使用 链表中的员工 ID
程序应显示函数列表,并要求用户输入数字 he/she 想要执行的功能,然后执行前面 table.
中要求的功能这就是我所做的
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;
}
}
}
}
它终于起作用了??或者还有更多步骤要走!指的是问题?
请帮我知道步骤
根据您对所收到错误的回应 ("listIterator litr = empTest.listIterator(); cannot find symbol - class listlterator"):
类型listIterator
未知,您正在寻找ListIterator
,所以更改
listIterator<Integer> litr = empTest.listIterator();
到
ListIterator<Integer> litr = empTest.listIterator();
编辑下一个错误:"ListIterator litr = empTest.listIterator(); cannot find symbol - variable empTest":
该列表仅在 main 方法的 scope 中可见,因为它是在其中声明的。一种可能性是将列表与方法调用一起传递,因此更改
public static void Update(String name) {
到
public static void update(String name, LinkedList<employee> empTest) {
并将缺少的列表从主方法传递到更新方法:
update(nm, empTest); //instead of Update(nm);
或者,您可以扩大列表的范围并为整个 class 声明它,如@Dude 的评论中所述,但这应该小心处理,因为这会提高保留状态所讨论的对象(在本例中甚至是 class)。
旁白:类型在 Java 中大写(employee 应该是 Employee),而变量和方法以小写开头(Update() 应该是 update())。请看this article