14. oktober 2002 - 13:41
Der er
7 kommentarer og 1 løsning
For løkke og konkatenering...
Hvordan skrives dette lidt nemmere. Jeg kan ikke finde ud af at konkatenere i java. Pile p1 = new Pile(100, 100, 0, 30); Pile p2 = new Pile(200, 100, 0, 30); Pile p3 = new Pile(300, 100, 0, 30); Pile p4 = new Pile(400, 100, 0, 30); Pile p5 = new Pile(500, 100, 0, 30); Pile p6 = new Pile(600, 100, 0, 30); Pile p7 = new Pile(700, 100, 0, 30); Pile p8 = new Pile(800, 100, 0, 30); p1.addCardsFrom(p, 0, 3); p2.addCardsFrom(p, 0, 3); p3.addCardsFrom(p, 0, 3); p4.addCardsFrom(p, 0, 3); p5.addCardsFrom(p, 0, 3); p6.addCardsFrom(p, 0, 3); p7.addCardsFrom(p, 0, 3); p8.addCardsFrom(p, 0, 3); i flash ville man kunne lave en forløkke og skrive f.eks: Pile this["p" + i] = new Pile......osv. Hvad gør jeg her ?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
14. oktober 2002 - 13:45
#1
Her er de tre opgaverækker, der naturligvis skal puttes i en forløkke: Pile p1 = new Pile(100, 100, 0, 30); Pile p2 = new Pile(200, 100, 0, 30); Pile p3 = new Pile(300, 100, 0, 30); Pile p4 = new Pile(400, 100, 0, 30); Pile p5 = new Pile(500, 100, 0, 30); Pile p6 = new Pile(600, 100, 0, 30); Pile p7 = new Pile(700, 100, 0, 30); Pile p8 = new Pile(800, 100, 0, 30); p1.addCardsFrom(p, 0, 3); p2.addCardsFrom(p, 0, 3); p3.addCardsFrom(p, 0, 3); p4.addCardsFrom(p, 0, 3); p5.addCardsFrom(p, 0, 3); p6.addCardsFrom(p, 0, 3); p7.addCardsFrom(p, 0, 3); p8.addCardsFrom(p, 0, 3); Table.piles.addPile(p1); Table.piles.addPile(p2); Table.piles.addPile(p3); Table.piles.addPile(p4); Table.piles.addPile(p5); Table.piles.addPile(p6); Table.piles.addPile(p7); Table.piles.addPile(p8);
14. oktober 2002 - 13:47
#2
det ville være en fordel hvis du oprettede dine objekter i et array, eks: Pile pile[] = new Pile[8]; for(int i=0;i<pile.length;i++) { pile[i] = new Pile((i*100)+100, 100, 0, 30); pile[i].addCardsFrom(p, 0, 3); Table.piles.addPile(pile[i]); }
14. oktober 2002 - 13:53
#3
Her kommer de ikke til at hedde p1, p2, p3.... men pile1, pile2... ikke ?
14. oktober 2002 - 13:57
#4
nej, du opretter et array af Pile objekter, disse refereres så efter deres placering i arrayet. Navnet på objektet er så pile[i], hvor i er pladsen i arrayet. det kan ikke lade sig gøre at ændre på variabelnavne dynamisk (det du egentlig gerne vil).
14. oktober 2002 - 13:59
#5
Ja. Jeg skal jo bagefter kunne gøre noget ved bunken p3, i dette tilfælde pile3 ?? F.eks pile3.doSomething(); Kan man ikke det nu ?!
14. oktober 2002 - 14:01
#6
pile[3].doSomething();
14. oktober 2002 - 14:02
#7
i princippet det samme som i forløkken: pile[i].addCardsFrom(p, 0, 3);
14. oktober 2002 - 14:02
#8
OK. tak for hjælpen for nu !
Kurser inden for grundlæggende programmering