Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo!

Ich rufe die Methode peterwagen2.zeileSplit2() auf und möchte nach Rückkehr das Array dieses Objektes darstellen:


System.out.println(peterwagen2.dlsuse[0]);

System.out.println(peterwagen.dlsuse[1]);

Problem hierbei ist, dass in dem Feld 0 der Wert von Feld eins steht und das Feld 1 mit 'null' beschrieben ist. Wie kann das sein, weil in der Methode die Felder noch richtig beschrieben sind? die Methoden hierzu liegen in der Klasse myclass

static class myclass{

    String pfad, zeile, zeichenkette;

    int[] vorlauf = new int[7];

    int[] dlsuse = new int[2];

    int[] grenzwert = new int[2];

    Integer wert, initDavid;

    Boolean alarm;



//Auslesen der Zeile aus der Datei 

        void zeileSplit2(String pfad, int cut, int a){

            //Datei zersplitten


            String [] result = pfad.split("\\s");

            for(int x = 0;x<result.length;x++){

                StringBuffer sba = new StringBuffer(result[x]);

                sba.delete(0,cut);

                result[x] = sba.toString();

                //System.out.println(result[x]);

                //System.out.println(a);

                dlsuse[x] = Integer.parseInt(result[x]);

                // x und somit die Felder haben die Werte 0 und 1 

                System.out.println(x);

                //Felder sind mit den richtigen Werten aus der Datei beschrieben

                System.out.println("DL " + dlsuse[x]);

                }

            }

Wird das Array falsch definiert?

Geschrieben

Das Array ist ok. new int[2] ist eben [0] und [1]

Manche Sachen verstehe ich nur nicht ganz, aber das tut nix zur Sache.

In zeileSplit2() läuft x in der Schleife von 0 bis result.length-1, aber x darf als Index in dlsuse laut Deiner Array-Initialisierung niemals >1 sein, sonst knallts.

D.h. ich gehe davon aus, dass in Deiner Datei maximal result.length bis 1 geht.

Jetzt frag ich mich nur, wann genau in result[x] das falsche drin steht, denn das parsen als Int ist ok.

Geschrieben

Bist du dir sicher das das "result" Array über den Split auch mind. 2 Einträge bekommt?

Debug doch einfach Schritt für Schritt und überwache die Arrays. Irgendwann wirst du schon sehen, wann der falsche Wert reinwandert. :)

Geschrieben

Hallo!

Ich habe den Bock gefunden!


        void zeileSplit2(String pfad, int cut, [B]int a[/B]){

                dlsuse[B][a][/B] = Integer.parseInt(result[x]);

mit der lokalen Variable x funktionierte es nicht...mit dem Parameter a wohl! :upps

Danke für die Hilfe

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...