24h購物| | PChome| 登入
2009-05-06 12:01:58| 人氣184| 回應0 | 上一篇 | 下一篇

2009/05/06 Datastructure

推薦 0 收藏 0 轉貼0 訂閱站台

1.練習LinkedList

 public static void main(String[] args) {
//       LinkedList ll = new LinkedList();
        Scanner scan = new Scanner(System.in);

        int val[] = new int[250];
        int i =0;
        for (; ; i++) {
            int j = val[i];
            System.out.println("請輸入資料(-999)結束");
            int n = scan.nextInt();
            if(n==-999)break;
            val[i]=n;
            }
           
         System.out.println("ll"+ val +"共有"+ i +"筆資料");

 

 

2.製作選單功能

public class Main {

  
    private static LinkedList ll = new LinkedList();
    private static Scanner scan = new Scanner(System.in);
    public static void main(String[] args) throws FileNotFoundException {


        boolean done = false;

        while (!done) {
            showMenu();
            int n = scan.nextInt();

            switch (n)
            {
                case 0:
                    done = true;
                    break;
                case 1:
                    Insert();
                    break;
                case 2:
                    Delete();
                    break;
                case 3:
                    Print();
                    break;
                case 4:
                    Input();
                    break;
                case 5:
                    Read();
                    break;
            }
        }
        System.out.println("謝謝使用!");
    }

    private static void showMenu() {
        System.out.println("-------------------------------");
        System.out.println("       LinkedList 測試");
        System.out.println("-------------------------------");
        System.out.println("   0.  離開");
        System.out.println("   1.  加入元素");
        System.out.println("   2.  刪除元素");
        System.out.println("   3.  印出串列內容");
        System.out.println("   4.  寫入檔案");
        System.out.println("   5.  從檔案讀入");
        System.out.println("-------------------------------");
        System.out.print("  請輸入您的選擇? ");
    }

    private static void Delete() {
        System.out.print("請輸入您想刪除的數值:");
//        ll.remove((Object)(scan.nextInt()));
        int index = ll.indexOf(scan.nextInt());
        if (index == -1)
            System.out.println("元素不存在! 直接返回...");
        else
        {
            ll.remove(index);
            System.out.println("元素已刪除.");
        }
    }


    private static void Input() {
         System.out.print("請輸入檔名:");
        String fn = scan.next();
        try {
            FileOutputStream fout = new FileOutputStream(fn);
            PrintWriter pw = new PrintWriter(fout);
            for (int i = 0; i < ll.size(); i++) {
                pw.println(ll.get(i));
            }
            pw.close();
            System.out.println("檔案寫入完畢.");
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

    private static void Insert() {
        System.out.print("請輸入您想加入的數值:");
        ll.add(scan.nextInt());
    }

    private static void Print() {
        System.out.println("串列內容為:"+ll);
    }

    private static void Read() throws FileNotFoundException {
        System.out.print("請輸入檔名:");
        String fn = scan.next();
        try {
            FileInputStream fout = new FileInputStream(fn);
            scan = new Scanner(fout);
            while(scan.hasNextInt())
            {
                ll.add(scan.nextInt());
            }
            scan.close();
            System.out.println("檔案讀取完畢.");
            scan = new Scanner(System.in);
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }

    }
}

 

上課範例

public class MyList {
    private static Stack ll = new Stack();
    private static Scanner scan = new Scanner(System.in);

    public static void main(String[] args) {
        boolean done = false;
        while ( ! done)
        {
            showMenu();
            int n = scan.nextInt();
            switch (n)
            {
                case 0: done = true;
                        break;
                case 1: Insert();  break;
                case 2: Delete();  break;
                case 3: Print(); break;
                case 4: Output2File(); break;
                case 5: ReadFromFile(); break;
            }
        }
        System.out.println("謝謝使用.");
    }

    private static void Delete() {
        System.out.print("請輸入您想刪除的數值:");
//        ll.remove((Object)(scan.nextInt()));
        int n = scan.nextInt();
        int index = ll.indexOf(n);
        if (index == -1)
        {
            System.out.println("元素不存在! 直接返回...");
            return;
        }

        while ( true )
        {
            index = ll.indexOf(n);
            if (index == -1) break;
            ll.remove(index);
        }
        System.out.println("元素已刪除.");       
    }

    private static void Insert() {
        System.out.print("請輸入您想加入的數值:");
        ll.add(scan.nextInt());
    }

    private static void Output2File() {
        System.out.print("請輸入檔名:");
        String fn = scan.next();
        try {
            FileOutputStream fout = new FileOutputStream(fn);
            PrintWriter pw = new PrintWriter(fout);
            for (int i = 0; i < ll.size(); i++) {
                pw.println(ll.get(i));
            }
            pw.close();
            System.out.println("檔案寫入完畢.");
        } catch (FileNotFoundException ex) {
            Logger.getLogger(MyList.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    private static void Print() {
        System.out.println("串列內容: "+ll);
    }

    private static void ReadFromFile() {
        System.out.print("請輸入檔名:");
        String fn = scan.next();
        try {
            FileInputStream fout = new FileInputStream(fn);
            scan = new Scanner(fout);
            while(scan.hasNextInt())
            {
                ll.add(scan.nextInt());
            }
            scan.close();
            System.out.println("檔案讀取完畢.");
            scan = new Scanner(System.in);
        } catch (FileNotFoundException ex) {
            Logger.getLogger(MyList.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    private static void showMenu()
    {
        System.out.println("-------------------------------");
        System.out.println("       LinkedList 測試");
        System.out.println("-------------------------------");
        System.out.println("   0.  離開");
        System.out.println("   1.  加入元素");
        System.out.println("   2.  刪除元素");
        System.out.println("   3.  印出串列內容");
        System.out.println("   4.  寫入檔案");
        System.out.println("   5.  從檔案讀入");
        System.out.println("-------------------------------");
        System.out.print("  請輸入您的選擇? ");
    }
}



本文已同步發佈到「生活點滴」

台長: 黑色狂想
人氣(184) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 工作甘苦(工作心得、創業、求職) | 個人分類: 【我愛屏商技】 |
此分類下一篇:2009/05/13 Datastructure
此分類上一篇:裝甚麼偶像劇男主角

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文