Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将多个不同的数据位存储到链表中_Java - Fatal编程技术网

Java 将多个不同的数据位存储到链表中

Java 将多个不同的数据位存储到链表中,java,Java,我需要将3个不同的数据位存储到一个链表中。首先是一个名字,我在工作,然后我需要存储员工编号和他们的职业。我找不到任何关于将节点链接到一组数据的信息。任何帮助都将不胜感激 这是运行的代码,TeamMemberTest: package teammember; import java.util.*; import java.util.Scanner; public class TeamMemberTest { public static void main(String args[])

我需要将3个不同的数据位存储到一个链表中。首先是一个名字,我在工作,然后我需要存储员工编号和他们的职业。我找不到任何关于将节点链接到一组数据的信息。任何帮助都将不胜感激

这是运行的代码,TeamMemberTest:

package teammember;

import java.util.*;
import java.util.Scanner;

public class TeamMemberTest {
    public static void main(String args[]) {
    /* Linked List Declaration */
    LinkedList<String> linkedlist = new LinkedList<String>();

    Scanner input = new Scanner(System.in);
    boolean mainloop = true;
    String name;
    int employeeNo;
    String position;
    int choice;
    while(true){
        System.out.println("Menu");
        System.out.print("1. add project \n");
        System.out.print("2. display project \n");
        System.out.print("3. remove project \n");
        System.out.print("4. display all projects \n");
        System.out.print("\nEnter your option: ");

        choice = input.nextInt();

        switch(choice){
            case 1:
                /*add(String Element) is used for adding 
                * the elements to the linked list*/
                name = Input.getString("name: ");
                employeeNo = Input.getInteger("Enter employee number: ");
                position = Input.getString("Enter employee position: ");
                linkedlist.add(name);
                System.out.println("LinkedList after deletion of first and last element: " +linkedlist);
                break;
            case 2:
                name = Input.getString("name: ");
                if(linkedlist.contains(name)){
                    System.out.println("LinkedList does contain " + name);
                }
                break;
            case 3:
                name = Input.getString("name: ");
                linkedlist.remove(name);
                System.out.println("LinkedList after deletion of first and last element: " +linkedlist);
                break;
            case 4:
                System.out.println("Linked List Content: " +linkedlist);
                break;
            default :
                System.out.println("This is not a valid option try again.");
                break;
            }
        }
    }
}
这是输入代码:

package teammember;

import java.io.*;
public class Input{
    private static BufferedReader input=new BufferedReader(new InputStreamReader(System.in));

    public static Character getCharacter(String prompt){
        Character value;
        System.out.print(prompt);
        try{
            value=Input.input.readLine().charAt(0);
        }
        catch(Exception error){
            // error condition
            value=null;
        }
        return value;
    }

public static Double getDouble(String prompt){
    Double value;
    System.out.print(prompt);
    try{
        value=Double.parseDouble(Input.input.readLine());
    }
    catch(Exception error){
        // error condition
        throw new NumberFormatException();
    }
    return value;
}

public static Integer getInteger(String prompt){
    Integer value;
    System.out.print(prompt);
    try{
        value=Integer.parseInt(Input.input.readLine());
    }
    catch(Exception error){
        // error condition
        throw new NumberFormatException();
    }
    return value;
}

public static String getString(String prompt){
    String string;
    System.out.print(prompt);
    try{
        string=Input.input.readLine();
    }
    catch(Exception error){
        // error condition
        string=null;
    }
    return string;
}

}您需要创建
团队成员的
链接列表,而不是创建
字符串的
链接列表,如下所示:

LinkedList<TeamMember> linkedlist = new LinkedList<TeamMember>();
确保在类中添加一个
toString()
方法,
TeamMember
,这样您就可以像
System.out.println(TeamMember的对象)一样操作了。您的IDE可以通过单击按钮生成
toString()
方法。下面给出的是eclipse IDE为您的类自动生成的
toString()
方法:

@Override
public String toString() {
    return "TeamMember [name=" + name + ", employeeNo=" + employeeNo + ", position=" + position + "]";
}

检查以了解有关
toString()

的更多信息。我找不到任何有关将节点链接到一组数据的信息。
这似乎是您的问题,但我不明白您的意思。尝试发布一个简短的代码示例,并重新表述您的问题。@petermm抱歉,我不确定您的意思。我所发布的就是我所拥有的。我需要能够存储所有3种数据类型(名称employeeNo position),并能够在搜索特定名称时将其提取出来谢谢,这消除了一些错误。比如说,在案例2中,我必须显示输入的姓名的详细信息,这将如何实现?非常感谢,这已经消除了巨大的压力。您一定已经使用java很长时间了。我计划在夏天在家里做一些项目,希望能得到一些练习in@chriscode99-我已经为您提供了项目进展所需的一切。如果您需要任何进一步的帮助,请告诉我。这是否也适用于二进制搜索树,但我将输入项目名称、开始和完成日期。这取决于您如何实现二进制搜索树。
choice = input.nextInt();
boolean found;
switch (choice) {
case 1:
    name = Input.getString("name: ");
    employeeNo = Input.getInteger("Enter employee number: ");
    position = Input.getString("Enter employee position: ");
    linkedlist.add(new TeamMember(name, employeeNo, position));
    break;

case 2:
    found = false;
    name = Input.getString("name: ");
    for (TeamMember teamMember : linkedlist) {
        if (teamMember.getName().equalsIgnoreCase(name)) {
            System.out.println("Name: " + teamMember.getName() + "Employee No.: "
                    + teamMember.getemployeeNo() + "Position: " + teamMember.getPosition());
            found = true;
            break;
        }
    }
    if (!found) {
        System.out.println("The team member was not found.");
    }
    break;

case 3:
    found = false;
    name = Input.getString("name: ");
    for (TeamMember teamMember : linkedlist) {
        if (teamMember.getName().equalsIgnoreCase(name)) {
            linkedlist.remove(teamMember);
            found = true;
            break;
        }
    }
    if (found) {
        System.out.println("LinkedList after deletion of " + name + "'s record" + ": " + linkedlist);
    } else {
        System.out.println("The team member was not found.");
    }
    break;

case 4:
    System.out.println("Linked List Content: " + linkedlist);
    break;

default:
    System.out.println("This is not a valid option try again.");
    break;
}
@Override
public String toString() {
    return "TeamMember [name=" + name + ", employeeNo=" + employeeNo + ", position=" + position + "]";
}