Dead Simple Java IO & Enum Вопрос - PullRequest
       3

Dead Simple Java IO & Enum Вопрос

0 голосов
/ 04 декабря 2010

Я знаю, что есть что-то очень простое, что мне не хватает, но следующий код не будет писать текст, используя println:

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. Я знаю, что мой код не отображается правильно, какие-либо подсказки для будущих сообщений / правок?

1 Ответ

2 голосов
/ 04 декабря 2010

Относительно вывода отсутствует println : Вы пытались flush ввести PrintWriter после println и явно close, когда он вам больше не нужен?

Относительно вашего списка перечислений вопрос & mdash; для чего будет хорошо перечисление перечислений? Вы имеете в виду что-то вроде этого (которое я только что придумал - я уверен, что оно не скомпилируется):

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

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

    enum OneForAll {
        Ascending, Descending, Off
    }

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...