如何阅读文件&将内容保存到链接列表中?

时间:2013-04-27 01:07:33

标签: java file-io linked-list

我正在尝试编写一个程序的代码,该程序将txt文件的内容保存到单个链接列表中,txt文件中的每一行代表一个对象。我使用Scanner从文件中读取,但我不知道如何获取列表中的单词。

任何提示或提示都受到高度赞赏。

我的尝试: class item

public class Item implements Serializable {
private String name;
private double price;

public Item() {
name="" ; 
price=0.00 ;
}

public Item(String n, double p) {
name = n ; 
price = p ;
}

public void setName(String n) {
name = n ;
}

public void setPrice(double p) { price = p ;
}

public String getName() { 
return name ; 
}

public double getPrice() {
return price ;
}
}

类节点

public class Node {
public Item data ;
public Node next ;

public Node(Item d) {
    data = d ;
}

public Node(Item d, Node n) {
    data = d ; 
    next = n ; 
}

public String toString() {
    return data+"";
}
}

class ListItems

public class ListItems {

private Node first;

public ListItems(){
    first=null;
}

public boolean isEmpty(){
    return first==null;
}

public void addAnItems(Item d, int i){
    Node node1=new Node(d);
    node1.next=first;
    first=items.get(i);
}

public void displayList(){
    Node current = first;

        while(current != null){
        System.out.println(current.toString());
        current=current.next;
        }
}
}

class FileItems

import java.io.* ;
import java.util.* ;

public class FileItems {
public static void main (String[]args){
Scanner input1=new Scanner(System.in) ;
        try {
        Scanner input2=new Scanner(new File("items.txt")) ;
        }

        catch (FileNotFoundException e) {
        System.out.println("ERROR OPENING FILE") ;
        System.Exit(1) ;
        }

        while (input2.hasNext()){
        String name1=input2.next() ;
        double price1=input2.nextDouble() ;
        }

            ListItems items=new ListItems();
                System.out.println("CHOOSE ONE OF THE FOLLOWING OPTIONS :") ;
                System.out.println("ENTER 1 TO ADD AN ITEM TO THE LIST") ;
                System.out.println("ENTER 2 TO DELETE AN ITEM FROM THE LIST") ;
                System.out.println("ENTER 3 TO DISPLAY ALL THE ITEMS IN THE LIST") ;
                System.out.println("ENTER 4 TO CLOSE THE PROGRAM") ;

                int in=input1.nextInt() ;

                        switch (in) {
                        case 1 : case1() ; 
                            break ;
                        case 2 : case1() ;
                            break ;
                        case 3 : displayList() ;
                            break ;
                        case 4 : System.Exit(1) ;
                            break ;
                        }

                        public void case1() {
                            System.out.println("ENTER THE NAME OF THE ITEM, THE PRICE AND THE INDEX ");

                            try {
                            System.out.println("NAME: ") ; 
                                String n2=input1.next() ; 
                            System.out.println("PRICE: ") ;
                                double p2=input1.nextDouble() ;
                            System.out.println("INDEX: ") ; 
                                int index=input1.nextInt() ;
                            }

                            catch (InputMismatchException e) {
                            System.out.print("INVALID INPUT") ;
                            }

                        Item I=new Item(n2, p2) ;
                        addAnItem(I, index) ;
                        }

                        public static case2() {
                            System.out.println("ENTER THE INDEX OF THE ITEM TO DELETE IT ") ;

                            try {
                            int index=input1.nextInt() ;
                            }

                            catch (InputMismatchException e) {
                            System.out.print("INVALID INPUT") ;
                            }
                        items.remove(index) ;
                        }
        }
        }

1 个答案:

答案 0 :(得分:0)

  

任何提示或提示都非常受欢迎

以下是一些提示:

  • 正确缩进代码。
  • 请勿在分号之后放置大括号。
  • 班级名称应以大写字母开头:listItemsfileItems错误。

如果您没有推荐的样式指南,请使用标准Java - http://www.oracle.com/technetwork/java/codeconv-138413.html