Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
public class LogFileNot200 {
private Vector<LogFileZeileErg> logFileZeilen;
private int anzahl;
public LogFileNot200(Vector<LogFileZeileErg> logFileZeilen, int zeilenAnzahl) {
this.logFileZeilen = logFileZeilen;
this.anzahl = zeilenAnzahl;
}
public void Zeilen(LogFileZeile lf){
Vector<LogFileZeileErg> var = lf.getLines();
int zeilenAnzahl = lf.getZeilenAnzahl();
}
public String[] getReturncode200(){
String[this.anzahl] fehlerZeilen;
for(LogFileZeileErg zeile: logFileZeilen){
String s_returncode = zeile.getReturncode();
int returncode = Integer.parseInt(s_returncode);
if (returncode != 200){
fehlerZeilen = zeile.getMyZeile();
}
}return fehlerZeilen;
}
}
eclipse unterstreicht mir als bei der methode "getReturncode200" String[this.anzahl] fehlerZeilen;
und meint dazu:
- Syntax error on token "]", AssignmentOperator expected after this token
- String cannot be resolved
- fehlerZeile cannot be resolved
weshalb geht das denn net bzw. was hab ich falsch gemacht??
vielen dank, hab das auch geändert und zeile 23 musst ich dann auch noch in: fehlerZeilen[this.anzahl] = zeile.getMyZeile(); ändern.
jetzt unterstreicht er zwar nichts mehr, aber wenn ich das in der console ausgeben will, steht in der console folgendes:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
at xxx.xxx.xxx.xxx.LogFileNot200.getReturncode200(LogFileNot200.java:29)
at xxx.xxx.xxx.xxx.util.main.main(main.java:51)
wenn dein Array 4 Elemente lang ist,
dann kannst du in Index 0, 1, 2 oder 3 etwas hineinschreiben, Index 4 (this.anzahl) ist aber außerhalb der Grenzen, OutOfBounds
nein, this.anzahl ist schon korrekt. der zählt die eigelesenen dinger halt schon vorher. hab mir das auch auf der console ausgeben lassen, der wert da stimmt schon.
is auch sehr komisch, das der wohl wie meinst sagt es wären zuwenig, da ich 4 zeielen einles, also bei this.anzahl steht 4 und nur zwei davon hab nicht den returncode 200.
ich hab jetzt einfach mal testweise +1 dazu geschrieben, aber anstatt die strings auszuspucken, schreibt der mir jetzt folgendes auf die console:
[Ljava.lang.String;@a90653
is aber net rot. aber is is definitiv net das was da rauskommen sollte
ich weiss es nicht. ich frag mich jetzt nur was da falsch ist, weil wie ich grad geschrieben hab: selbst wenn ich +1 im array sag, gibt der zwar was in der console aus, aber nichts was da je eingelesen wurde
du erzählt, dass du eine komische Array-Ausgabe hast,
daraufhin ich habe dir geschrieben dass du einen total sinnlosen Befehl eingetippt hast
und dir zwei sehr einfache blind verständliche Methoden zur Array-Ausgabe beschrieben,
wenn du diese beiden einfachst-möglichen Ausgaben eines Arrays nicht verstehst und nicht einmal näher beschreiben kannst, was du daran nicht verstehst,
dann kann ich dir nicht weiterhelfen
nein, sorry, da haben wir uns falsch verstanden, die ausgabe von dem ganzen hab ich ja garnicht in der selben klasse, das was ich als quellcode hier geschrieben hab, ist nur die rechnung.
und deshalb hab ich auch nicht verstanden, was ich jetzt mit deinen zwei beispielen für die ausgabe anfangen soll
nein, sorry, da haben wir uns falsch verstanden, die ausgabe von dem ganzen hab ich ja garnicht in der selben klasse, das was ich als quellcode hier geschrieben hab, ist nur die rechnung.
und deshalb hab ich auch nicht verstanden, was ich jetzt mit deinen zwei beispielen für die ausgabe anfangen soll
das is ja nur ein kleiner teil des programms. im grunde besteht das ja noch aus mehr, aber das funktioniert ja alles.
ich les halt amanfang aus ner datei verschiedene zeilen ein und während dem einlesen, zählt der mit wieviele zeilen das sind (deshalb die anzahl bzw. dann this.anzahl).
und hier will ich ja nur alle kompletten zeilen ausgegeben bekommen, die nicht den returncode "200" haben.
und dafür ist das die rechnung, nur die rechnung, die ausgabe steht in der main und lautet:
System.out.println(not.getReturncode200());
"wo ist diese Ausgabe im Code?"
->
hast du doch selber gesagt:
> die ausgabe steht in der main und lautet:
> System.out.println(not.getReturncode200());
oder
"wo ist die richtige Ausgabe in den vorherigen Posts?"
->
mein Posting von 14:43