Wow, das ist schlecht. Hard-Coding-Daten in Ihrem Programm ist nie eine gute Idee überhaupt. Harte Codierung eine Tonne von Daten ist nicht besser und verursacht, dass Sie in den Beschränkungen in anderen Antworten beschrieben zu laufen.
Es gibt eine Reihe von Möglichkeiten, um dies zu beheben, aber die folgenden sollten keinen anderen Code brechen.
public static String[] getTheArrayThing(){
List<String> list = new LinkedList<String>();
try {
BufferedReader br = new BufferedReader(new FileReader(<the file>));
String line = br.readLine();
while (line != null) {
list.add(line);
line = br.readLine();
}
} catch (Exception e){
throw new IllegalStateException("Couldn't load array file");
}
return list.toArray(new String[0]);
}
Bascially schafft das Verfahren (und kehrt zurück, aber es konnte diese so leicht eine Klassenvariable Bearbeiten) eine Anordnung, die jede Zeile der Datei enthält, um.
Speichern Sie einfach die Werte in Ihrem Quellbeispiel (z. B. "newyorkartworld") in eine Textdatei - in dieser Reihenfolge - und laden Sie damit das Array.
Während dieser einfache Tropfen in Ersatz funktioniert, gibt es viel elegantere Lösung da draußen, wenn Sie die Zeit finden, ein wenig Refactoring zu tun.
OMG O_O ... das ist wirklich ein SCHLECHTE, SCHLECHTE, SCHLECHTE Design ... –
Ich bin nur fassungslos ... Es gibt eine bessere Möglichkeit, dies zu tun. –
Ja, ja, ich stimme zu - das Design ist hoffnungslos. Anfangs war die Größe des Arrays nur 64, also habe ich nicht die Notwendigkeit gefunden, aus einer Datei zu lesen. Jetzt hängt der Rest des Codes davon ab, dass es sich um ein Array handelt, also dachte ich, ich könnte eine temporäre Lösung bekommen und später Ordne Dinge durch Lesen aus einer Datei. Okay, ich werde deine Vorschläge versuchen, danke! – trinity