Fehler beim Auslesen von Einstellungen. Zwei ähnliche Blöcke, nur eins geht.

Beatsleigher

Bekanntes Mitglied
Halli, hallo!

Ich designe derzeit mein Programm neu, und habe dementsprechend auch alle Einstellungen neu gemacht, einige entfernt und neue hinzugefügt. Desweiteren habe ich den kompletten Manager neu geschrieben.

Nun, mein Problem ist wie folgt:
Eine if-Statement funktioniert. Die andere, die im Prinzip genau das Gleiche tut, funktioniert nicht.

Ich war bis spät in die Nacht daran am Fummeln, und habe bis zum geht nicht mehr geflucht, und bin daraus nicht schlau geworden.

Hier ist der Code, vielleicht fällt einen von euch was auf.
Java:
if (line.startsWith("boolean::checkForUpdates=")) {
                BukkitUI.log(LogLevel.INFO, "Found preference :: checkForUpdates", true);
                String[] arr = line.split("=");
                checkForUpdates = Boolean.valueOf(arr[1]);
            }
            ////////////////////
            // Note to Self: This is broken; **** knows why!
            ////////////////////
            if (line.startsWith("intArr::mcVer=")) {
                BukkitUI.log(LogLevel.INFO, "Found preference :: mcVer", true);
                String[] arr = line.split("=");
                String[] arr1 = arr[1].split(".");
                for (int i = 0, j = 0; i != arr.length && j != arr1.length; i++, j++) { // Dieses wurde zu Debugging-Zwecken eingebaut.
                    System.out.println(i + arr[i] + "\n" + j + arr1[j]);
                }
               int major = Integer.valueOf(arr1[0]), minor = Integer.valueOf(arr1[1]), rev = Integer.valueOf(arr1[2]);
                mcVer = new int[] {major, minor, rev};
            }

EDIT:

Das hier ist der String, den er aus der Datei liest:
Code:
intArr::mcVer=1.7.2

Diesen Wert findet er auch, ich habe den Wert mittels System.out.println(""); ausgeben lassen.
 
Zuletzt bearbeitet:
Also springt er nicht in das if rein?
Geht es danach weiter? Oder hängt das Programm dann?

Beatsleigher hat gesagt.:
Diesen Wert findet er auch, ich habe den Wert mittels System.out.println(""); ausgeben lassen.
Also gehts doch?

EDIT: Bei mir funktioniert die Abfrage.
 
Zuletzt bearbeitet:
Also springt er nicht in das if rein?
Geht es danach weiter? Oder hängt das Programm dann?


Also gehts doch?

EDIT: Bei mir funktioniert die Abfrage.

Nein, er geht in die If-Abfrage, aber der packt die Werte nicht in das Array, das hätte ich aber vorher sagen müssen.
Ich habe es erstmal mittels \\ fertig gekriegt, aber ich möchte, dass es so funktioniert wie alle anderen Abfragen auch, denn sonst sieht der Code unordentlich aus, und das verzeihen mir die GPL-Götter nicht noch einmal :noe:

In anderen Programmen funktioniert die Abfrage ja auch, es spinnt nur in dieser Klasse.
Wenn du magst, kann ich die ganze Klasse hier hochladen.
 
Ich komme nicht mehr mit. 😀 Also er springt in den Rumpf der Abfrage rein. Bei einem passenden String ergibt die Abfrage true. Und dann kommen aber keine Werte in die Arrays. Oder verstehe ich das falsch?
 

Neue Themen


Zurück
Oben