Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.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_Split_Linked List_Key_Nodes - Fatal编程技术网

Java 将链表节点拆分为多个数据并显示结果

Java 将链表节点拆分为多个数据并显示结果,java,split,linked-list,key,nodes,Java,Split,Linked List,Key,Nodes,我想使用一个文本文件来填充一个使用JavaSE应用程序的链表。文本文件的格式如下: firstname lastname移动家庭办公室 我想将这些线作为节点插入链表中!然后,我想从已从文本文件填充的链接列表中搜索特定节点 使用firstnamelastname作为键,我希望在找到特定节点后,使用split(“”)将其与节点数据进行比较(数据被拆分为与“键”进行比较);并显示结果 我只想知道提示做这一切,我会非常感谢提前请帮助我 我已经生成了一个java源代码,但它不工作,因为它总是给我最后的节点

我想使用一个文本文件来填充一个使用JavaSE应用程序的链表。文本文件的格式如下:

firstname lastname移动家庭办公室

我想将这些线作为节点插入链表中!然后,我想从已从文本文件填充的链接列表中搜索特定节点

使用firstnamelastname作为键,我希望在找到特定节点后,使用split(“”)将其与节点数据进行比较(数据被拆分为与“键”进行比较);并显示结果

我只想知道提示做这一切,我会非常感谢提前请帮助我

我已经生成了一个java源代码,但它不工作,因为它总是给我最后的节点数据,所以检查我犯的错误,如果它是完全错误的,给出你的任何想法

    try {
        String fullname;
        String mobile;
        String home;
        String mobile2;
        String office;

        Node current = first;

        while (current.data != key) {

            String splitter[] = current.data.split(" ");

            fullname = splitter[0];
            mobile = splitter[1];
            home = splitter[2];
            mobile2 = splitter[3];
            office = splitter[4];

            if (fullname == null ? key == null : fullname.equals(key)) {
                mobilefield.setText(mobile);
                homefield.setText(home);
                mobilefield2.setText(mobile2);
                officefield.setText(office);
            } else {
                throw new FileNotFoundException(
                        "SORRY RECORD NOT LISTED IN DATABASE");
            }
            break;
        }
    } catch (Exception e) {
        JOptionPane.showMessageDialog(this, e.getMessage()
                + "\nPLEASE TRY AGAIN !", "Search Error",
                JOptionPane.ERROR_MESSAGE);
    }


(key is as=firstname+lastname;)
我会使用ArrayList(需要更少的内存,对于大多数操作有更好的性能)

代码对我来说看起来不错,但我不会为每个条目拆分当前.data

我会使用一个类似的测试

if(current.data.startsWith(key)){
  String splitter[]=current.data.split(" ");

  ...

}

如果这是真的,我会分割
当前的.data
,因为只有在这种情况下,你才需要mobile*home*office

谢谢你的回复,但它始终只显示列表的最后一个节点,任何想法或提示!!!您从不更新循环中的
current.data
,在循环结束时总是
break
在第一次迭代后终止循环。先生,实际上我想从包含数据类型的列表中搜索任何节点,即firstnamelastname mobile home,我的意思是说该节点有带空格的数据,我想搜索该类型包含空格的数据,请帮助我这样做,我求求你!!!是否确实要支持
key==null
作为
fullname
的有效值?