Mit Schleife Variablen deklarieren

Status
Nicht offen für weitere Antworten.

Reality

Top Contributor
Hi,
ich möchte gerne wissen, darum das nicht geht:
Code:
  for(char ci='a'; ci<='z'; ci++){
  ArrayList ci = new ArrayList(); //Hier kommt die Fehlermeldung
  }
"Komprmierer.java": ci ist bereits in main(java.lang.String[]) definiert in Zeile 14, Spalte 3
Ich habe nirgendswo anders ci deklariert, außer in anderen Schleifen was keine Rolle spielt. Auch wenn ich den Variablennamen ändere, kommt die Fehlermeldung.

Und dann anschliessend das ArrayList füllen
Code:
    int start= 0;

    for(char ci='a'; ci<='z'; ci++)
      while (start == -1) {
        ci.add(Integer.toString(text.indexOf(ci, start))); //Hier kommt die Fehlermeldung
        start = text.indexOf(ci)+1; //Neuen Startwert ermitteln
      }

Fehlermeldung:
"Komprmierer.java": Symbol kann nicht aufgelöst werden: Variable a in Klasse Komprmierer in Zeile 34, Spalte 9

Weiss jemand weiter? Es würde eine Menge Zeit und Code sparen!

Liebe Grüße
Reality
 
Ich habe nirgendswo anders ci deklariert

Und was ist das?
Code:
for(char ci='a'

Zusammen mit
Code:
ArrayList ci
ist das einmal zuviel :wink:
 
Hi Beni,
das soll ja mit Absicht so sein.
Es soll Variablen von a bis z anlegen.

Liebe Grüße
Reality
 
Beni hat schon recht. Du kannst nicht zwei verschiedenen Objekten/Datentypen den selben Namen geben...
 
Hi,
P3AC3MAK3R hat gesagt.:
Das was Du da vorhast, ist ziemlicher Unsinn.
Den Satz hättest du dir sparen können. Belaste weder dich noch mich damit.
Verwende am besten einen ArrayList-Array.

Danke, hab das so gemacht:
Code:
 ArrayList position[]= null;

  for(short i=0; i<=26; i++){
  position[i]= new ArrayList();
  }

Code:
    for(char ci='a'; ci<='z'; ci++)
      for(short i=0; i<=26; i++)
        while (start == -1) {
          position[i].add(Integer.toString(text.indexOf(ci, start)));
          start = text.indexOf(ci)+1; //Neuen Startwert ermitteln
      }

Folgende Exception kommt dann:
java.lang.NullPointerException
at Komprmierer.main(Komprmierer.java:14)
Exception in thread "main"

Liebe Grüße
Reality
 
positions scheint in ordnung zu sein.
Was ist mit der Variable 'text' überprüf mal ob die null ist
 
Warum nimmst du eigentlich keine Hashtables?
Wäre um einiges übersichtlicher...
 
deathbyaclown hat gesagt.:
positions scheint in ordnung zu sein.
Was ist mit der Variable 'text' überprüf mal ob die null ist

Bist du da wirklich sicher :wink: ?

Code:
  ArrayList position[]= null;

  for(short i=0; i<=26; i++){
  position[i]= new ArrayList();
  }

:noe: position[] = null
:meld: position[] = new ArrayList[27];
 
Hi! 🙂
Text ist initialisiert worden, aber nicht als null.

Ich poste mal den ganzen Code. Soll ein Prog werden, dass ein Text komprimiert, muss dazu aber erst mal wissen, wieviele Zeichen der Text hat und an welcher Stelle. (Wenn ich recht überlege, reicht es, wenn ich weiss, an welcher Stelle die Buchstaben sind.)


Liebe Grüße
Reality

EDIT: Ups, muss ArrayList dort initialisieren, wo schon text initialisiert wurde!
 
Oh, immernoch eine Exception.
Wie muss ich ArrayList initalisieren Beni?

EDIT: Oh da stets. Sorry hab nur 3 1/2 Stunden geschlafen. :roll:

Liebe Grüße
Reality
 
Code:
List[] arrayList = new ArrayList[27];

Edit:
Habs auch überlesen von Beni...die Smilies haben mich abgelenkt 😉
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben