2010-12-04 2 views
0

Я знаю, что есть что-то мертво просто я пропускаю, но следующий код не будет писать текст, используя println:Мертвого Простой Java IO & Enum Вопрос

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(); 
    } 
} 

Моего Перечень вопрос, могу ли я создать Перечисление перечислений? Я имею в виду, могу ли я обернуть три текущих переменных перечисления, которые у меня есть, Dodge Damage и DPS, в классе Super enum?

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 выход: Вы пробовали flush ING в PrintWriter после println, и явно close ИНГ, когда вам больше не нужно?

Что касается вашего enum of enums question —, для чего было бы перечислением перечислений? Вы имеете в виду что-то вроде этого (который я только что составленную — я совершенно уверен, что это не будет компилировать):

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

Что бы вы сделали с таким сложным перечисление? Почему бы не просто:

enum OneForAll { 
     Ascending, Descending, Off 
    } 

И затем использовать это перечисление вместо трех других, так как все они содержат одни и то же значение перечисления в любом случае?

(Update:. Обратите внимание на то, что с помощью того же перечисления вместо трех отдельных перечислений вполне может снизить безопасность типа вашего кода, поэтому приведенное выше предложение не обязательно может быть хорошей вещью)