2010-12-04 34 views
0

我知道有一些死的簡單,我失蹤,但下面的代碼不會寫使用println文:死的簡單的Java IO&枚舉問題

import java.io.*; 
import javax.swing.JOptionPane; 

public class ConfigureSettings{ 
    private PrintWriter SettingsFile; 
    private enum Dodge{ 
     Ascending, Descending, Off 
    }; 
    private enum Damage{ 
     Ascending, Descending, Off 
    }; 
    private enum DPS{ 
     Ascending, Descending, Off 
    }; 

    ConfigureSettings(){ 
     try{ 
      SettingsFile = new PrintWriter(new File("UserSettings")); 
     } 
     catch(IOException e){ 
      JOptionPane.showMessageDialog(null, "Sorry cannot open UserSettings File"); 
     } 
     SettingsFile.println("k"); 
     JOptionPane.showMessageDialog(null, "Done"); 
    } 

    public static void main(String args[]){ 
     new ConfigureSettings(); 
    } 
} 

我列舉的問題是我可以創造一個枚舉的枚舉?我的意思是我可以在超級枚舉類中包裝目前的三個枚舉變量,道奇傷害和DPS嗎?

P.S.我知道我的代碼顯示不正確,未來發布/編輯的任何提示?

+0

關於代碼格式化:您需要使用4個空格縮進代碼塊,然後才能正確顯示。看看[Markdown格式幫助](http://stackoverflow.com/editing-help)。 – stakx 2010-12-04 08:46:52

+0

@stakx感謝您的信息,我已更新我的問題 – Malaken 2010-12-04 19:37:18

回答

2

關於失蹤println輸出:你試過flushprintln之後荷蘭國際集團的PrintWriter,並明確close荷蘭國際集團它,當你不再需要它嗎?

至於你的枚舉的枚舉問題 —枚舉枚舉有什麼好處?你的意思是這樣的(我只是做了—我敢肯定它不會編譯):

private enum Enumenum { 
    enum Dodge { 
     Ascending, Descending, Off 
    }, 
    enum Damage { 
    Ascending, Descending, Off 
    }, 
    enum DPS { 
     Ascending, Descending, Off 
    } 
} 

你會用這麼複雜的枚舉做什麼?爲什麼不乾脆:

enum OneForAll { 
     Ascending, Descending, Off 
    } 

然後使用這個枚舉,而不是其他三個的,因爲它們都包含相同的枚舉值呢?

(更新:但是請注意,使用相同的枚舉,而不是三個獨立的枚舉很可能會降低你的代碼的類型安全,因此上述建議未必是件好事)