0

我想使用文本文件来使用 Java SE 应用程序填充链接列表。文本文件具有以下格式:

名字姓氏移动家庭办公室

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

使用 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;)
4

1 回答 1

0

我会使用 ArrayList (需要更少的内存,对大多数操作有更好的性能)

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

我会使用类似的测试

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

  ...

}

只有当这是真的我才会分开current.data因为只有在这种情况下你才需要移动*家庭*办公室

于 2012-12-27T16:37:27.960 回答