Re: aus der LinkedList auslesen
- From: Wanja Gayk <brixomatic@xxxxxxxxx>
- Date: Sat, 22 Oct 2005 20:30:33 +0200
Andre said...
>
> >> for(int a = 0; a <=nummer;) {
> also ich hab das bei mir im Programm schon auf a<nummer verbessert gehabt,
> sorry. Habs falsch weitergegeben
Das war nicht das, was Lothar meinte.
Lothar meinte, dass man eine Liste besser so abläuft:
for (int t = 0; t<liste.size(); ++t){
final Object obj = liste.get(t);
System.out.println(String.valueOf(obj));
}
> > Du solltest ganz dringend an Deinem Programmierstil arbeiten:
> ich lern schon zwei Monate aber anscheinend wa es nicht effektiv genug.
Ich behaupte eher dein Tutor ist unfähig, bzw. du hast keinen.
> > - Wozu das hochzaehlen des Schleifenzaehlers innerhalb der^
> > for-Schleife und nicht - so wie es der Rest der Welt macht -
> > innerhalb des Schleifenaufrufs?
> ich wollte nicht das bei n.get(a) das a schon eins hochgezählt wird , das
> wohl wieder ein denkfehler ist, da wegen ++a a++ ich mir besser gedanken
> hätte machen sollen.
Ob du ++a oder a++ nimmst, ist an dieser Stelle nicht deine Hauptsorge.
In Sachen "Programmierstil" wäre dir gesagt:
Halte Variablen möglichst lokal.
Also statt:
public class BadExample{
public int n;
public void foo(){
doSomething();
doSomethingElse();
}
public void doSomething(){
while(whatever){
doSomething();
++n;
}
}
public void doSomethingElse(){
for (int t = 0; t<n; ++t){
//blafasel;
}
}
}
lieber sowas:
public class BadExample{
public void foo(){
int n = doSomething();
doSomethingElse(n);
}
public int doSomething(){
int n;
while(whatever){
doSomething();
++n;
}
return n
}
public void doSomethingElse(int n){
for (int t = 0; t<n; ++t){
//blafasel;
}
}
}
Damit sind die Methoden voneinander unabhängig.
Wie auch oben gezeigt arbeite lieber mit Methoden, die eine Wert zurück
geben, statt dich auf "globale" Variablen zu verlassen.
Also statt:
class BadExample{
List liste = new ArrayList();
public void readFrom(File f){
//buffered reader, etc..
String s = reader.readLine();
liste.add(s);
//..bla
}
}
lieber:
class GoodExample{
public List readFrom(File f){
List liste = new ArrayList();
//buffered reader, etc..
String s = reader.readLine();
liste.add(s);
//..bla
return liste;
}
}
Damit wird die readFrom(..) methode nämlich wiederverwendbar.
Außerdem: Schmeiß nicht alles gemischt in eine Liste, sondern kapsel
deine Daten.
Also statt:
liste.add(name);
liste.add(strasse);
liste.add(stadt);
lieber:
liste.add(new Addresse(name, strasse, stadt));
Und zur Kapselung:
class Addresse {
public String name;
public String strasse;
public String stadt;
public Addresse(String name, String strasse, String stadt){
this.name=name;
this.strasse=strasse;
this.stadt=stadt;
}
}
damit musst du dich nicht mehr darum kümmern, beim Lesen aus der Liste
die Reihenfolge zu beachten (nebst anderen Vorteilen).
etc..
Gruß,
-Wanja-
--
"Gewisse Schriftsteller sagen von ihren Werken immer: 'Mein Buch, mein
Kommentar, meine Geschichte'. [..] Es wäre besser, wenn sie sagten:
'unser Buch, unser Kommentar, unsere Geschichte'; wenn man bedenkt, dass
das Gute darin mehr von anderen ist als von ihnen." [Blaise Pascal]
.
- Follow-Ups:
- Re: aus der LinkedList auslesen
- From: Andre
- Re: aus der LinkedList auslesen
- References:
- aus der LinkedList auslesen
- From: Andre
- Re: aus der LinkedList auslesen
- From: Lothar Kimmeringer
- Re: aus der LinkedList auslesen
- From: Andre
- Re: aus der LinkedList auslesen
- From: Lothar Kimmeringer
- Re: aus der LinkedList auslesen
- From: Andre
- aus der LinkedList auslesen
- Prev by Date: Re: aus der LinkedList auslesen
- Next by Date: Re: [half OT] Smalltalk in Java
- Previous by thread: Re: aus der LinkedList auslesen
- Next by thread: Re: aus der LinkedList auslesen
- Index(es):
Relevant Pages
|