2013-11-20 97 views
0

我希望給定的代碼在src文件夾中的名爲OutFile.txt的文本文件中寫入以下內容(並且此文件的副本存在於項目的主目錄中,其中src和res等其他文件夾是目前)該項目:意外輸出...這個輸出不是我所期望的。這是什麼

Value at: 0 = 0 
Value at: 1 = 1 
Value at: 2 = 2 

但它不寫任何文件。並給出了此輸出控制檯:

0 
0 

0 
0 
0 

CODE: -

package exception_handling_1; 

//Note: This class won't compile by design! 
import java.io.FileWriter; 
import java.io.PrintWriter; 
import java.util.ArrayList; 
import java.util.List; 

public class ListOfNumbers { 

private List<Integer> list; 
private static final int SIZE = 3; 

public ListOfNumbers() { 
    list = new ArrayList<Integer>(SIZE); 
    for (int i = 0; i < SIZE; i++) { 
     list.add(new Integer(i)); 
    } 
} 


static PrintWriter out; 

public void writeList() { 
    //PrintWriter out=null; 
    try{ 
    out = new PrintWriter(new FileWriter("OutFile.txt")); 
    for (int i = 0; i < SIZE; i++) { 
     out.println("Value at: " + i + " = " + list.get(i)); 
    } 
    }catch (Exception e){ 
     System.out.println("IO Exception!"); 
    }finally { 
     out.close(); 
     } 
} 


} 

請告訴我爲什麼我得到這個輸出。謝謝。

+0

一些'的System.out.println(...)'在您希望某些輸出,然後一直把分直到你找到一個沒有給出預期輸出的結果。然後從那裏弄清楚爲什麼那段代碼不是「正確的」。 –

+3

顯示更多代碼,特別是創建「ListOfNumbers」並調用writeList()的代碼。 – GriffeyDog

+1

正如所寫的,再加上一個「靜態主」來啓動它,對我來說是正確的。必須有一些其他的代碼。 – iamnotmaynard

回答

3

現在是工作的罰款正是猜測你在把輸出

package com.prectice; 
    import java.io.FileWriter; 
    import java.io.PrintWriter; 
    import java.util.ArrayList; 
    import java.util.List; 

    public class ListOfNumbers { 

    private List<Integer> list; 
    private static final int SIZE = 3; 

    public ListOfNumbers() { 
     list = new ArrayList<Integer>(SIZE); 
     for (int i = 0; i < SIZE; i++) { 
      list.add(new Integer(i)); 
     } 
    } 


    static PrintWriter out; 

    public void writeList() { 
     //PrintWriter out=null; 
     try{ 
     out = new PrintWriter(new FileWriter("OutFile.txt")); 
     for (int i = 0; i < SIZE; i++) { 
      System.out.println("Value at: " + i + " = " + list.get(i)); 
     } 
     }catch (Exception e){ 
      System.out.println("IO Exception!"); 
     }finally { 
      out.close(); 
      } 
    } 
    public static void main (String[] args){ 
      ListOfNumbers list = new ListOfNumbers(); 
      list.writeList(); 
      } 


    } 
1

如果使用主要方法實現代碼,則代碼將正確工作。

public class testRun{ 
    public static void main (String[] args){ 
    ListOfNumbers list = new ListOfNumbers(); 
    list.writeList(); 
    } 
}