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

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...