Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Problem mit einem Array

Empfohlene Antworten

Veröffentlicht

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?

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.

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

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.