for(list i = first; i.next!=null;i=i.next)
gör nåt med i.sak;
Men för enkelhetens skull kan man implementera interfacet iterator... och då använda de metoderna.
15 svar · 464 visningar · startad av Han-Solo
Hejsan!
Jag är ny i gemet vad det gäller JAVA...
Jag skulle vilja veta hur jag skriver en for loop som resulterar i följande.
mittobjekt.Next.Sak;
mittobjekt.Next.Next.Sak;
mittobjekt.Next.Next.Next.Sak;
mittobjekt.Next.Next.Next.Next.Sak;
mittobjekt.Next.Next.Next.Next.Next.Sak;
jag kan ju inte vara +".Next" för varje varv...???
hilfe bitte
for(list i = first; i.next!=null;i=i.next)
gör nåt med i.sak;
Men för enkelhetens skull kan man implementera interfacet iterator... och då använda de metoderna.
jag kan ju inte vara +".Next" för varje varv...???
Jo, om next är en "pekare" (länk) till nästa element i listan så hamnar man där automagiskt för varje varv genom t.ex i=i.next (ovan exempel)
Fast det är osnyggt att ha direktacces till en privat variabel i en klass så PeW's kod ska givetvis se ut såhär:
for(list i = first; i.getNext() != null;i=i.getNext())
gör nåt med i.sak;
;-)
Kunde inte motstå detta så här på måndagsmorgonen...
/Lime
Men betrakta min kod som pseudo så spelar det ingen roll
Jo, jag anser att det spelar roll, framför allt om man skriver kod till en som inte verkar vara så van vid att programmera. Dom har en benägenhet att göra exakt så som man skriver... :-)
Men som jag sa... kunde inte motstå... :birp
/Lime
Tackar för omtanken Lime... även om... nåja!
Jo, jag anser att det spelar roll, framför allt om man skriver kod till en som inte verkar vara så van vid att programmera.
Jaja... nu var det bara ett påvisande hur algoritmen ser ut och ingen exakt lösning... ;)
for i<-first to next != null THEN
doSomething i.sak
Bättre så? :p ;) :birp
Jo jo... jag hajjade galoppen med en gång!! :)
Okey :bire
Jorå, det kan vara okej bara det funkar.
Det går ju även att köra en Trabant till Kina, men man får stanna en massa och reparera ;-)
/Lime
:e
Å andra sidan brukar väl listan utgöras av ytterligare en klass med noden som i sig är private men har public variabler. Iteratorn implementeras i listklassen som då har åtkomst till noderna. Men ska man komma åt noderna i en iteration utanför listklassen måste man naturligtvis skapa en metod däri som hämtar nod.next... och när man ändå håller på så drar man naturligtvis till med interfacet Iterator :)
Att både nodklassen och listklassen ska ha private variabler är väl lite väl onödigt. Det bör ju räcka mkt väl med att listklassen har private variabler, endast, när hela nodklassen är private.
Man kommer inte åt noden i vartfall vilket är meningen, juh :)
Regel 1: Funkar det? Om "Ja", rör det inte. Om "Nej", gå till fråga Regel 2.
Regel 2: Är det ditt fel att det inte funkar? Om "Ja", gå till Regel 3. Om "Nej", gå till Regel 4.
Regel 3: Fixa det och gå till Regel 1.
Regel 4. Kommer du att få skit för att det inte funkar? Om "Ja" gå till Regel 3. Om "Nej"... Vad är problemet?
Eller nått....
/Lime
Weeeeeeee! :birp