Skrivet av JJ72:
Det där funkande ju fint
MEN..... om jag använder Scanner?
Jagad jagad1 = new Jagad("Dalton", 1234);
Jagad jagad2 = new Jagad("Ma Baker", 6421);
Jagad jagad3 = new Jagad("Dillinger", 7533);
arrlist.add(jagad1);
arrlist.add(jagad2);
arrlist.add(jagad3);
// senare
arrlist.remove(jagad1);
Ovan vet vi ju att det är jagad1 som ska bort. Men om jag vill välja tex Ma Baker med användarinput...? Hur skriver man då den sista raden?
print("Namn på fånge")
namn = input.nextLine();
namn = input.nextLine();
arrlist.remove(???????)
Tack så jättemycket för er hjälp
Det skrev jag i min post där uppe
public void removeJagadWithId(int id) {
Jagad taBortDettaObjekt;
for(Jagad j : arrlist) {
if(j.getId() == id) {
taBortDettaObjekt = j;
}
}
arrlist.remove(taBortDettaObjekt);
}
byt ut int id mot String namn och skriv j.getName().equals(name) i if statsen inuti for loopen
Eller använd den andra for-loopen.
Annars kan du använda dig utav en map som jag skrev innan, så kan du använda IDt som nyckel. Eller namnet som nyckel.
Läs på lite om olika maps. TreeMap, HashMap osv. Det är ganska nyttigt att kunna. Byt ut arrlist mot Map<Key, Value>
t.ex.: Map<int, Jagad> prison = new HashMap<int, Jagad>();
Då använder du put() istället för add().
t.ex:
prison.put(jagad1.getId(), jagad1);
sen kan du skriva:
prison.remove(jagad1.getId());
så är han borta.
Försök skriva en text som jag sa, markera de orden med fetstil, de orden du tror är Objekt och metoder ett kort exempel är:
Fängelse:
Här ska alla tjuvar sparas om dom blir fångade av polisen.
Polis:
En polis kan fånga en tjuv och kasta han i fängelset, en polis är en person som har namn och ID på sin bricka och tillhör ett fängelse.
Tjuv:
En tjuv kan smita ifrån polisen, men kan också hamna i fängelse om polisen fångar honom, tjuven är en person som har ett namn och kanske ett fångnummer.
Person:
Personen har ett namn
Tjuv, Polis, Fängelse och Person är i detta fallet klasser.
Sen finns det lite metoder:
smita från polisen,
hamna i fängelse,
polisen fångar tjuven,
spara tjuven i fängelset
variabler:
Fängelset har en Map eller en lista med tjuvar. Har man något sånt borde man ha lite metoder: getTheifs(), hämta alla tjuvar, removeTheif() eller addThief().
polisen har ett namn, det har även tjuven. ( DUBBEL KOD, kan ärvas av klassen PERSON)
polisen har ett nummer på brickan, ALLTID. Det har inte tjuven, men han KANSKE har ett fång-nummer(?)
polisen tillhör även ett fängelse.
Då kommer vi snabbt in på arv. Men det är lite längre fram.
När du programmerar vill du försöka undvika att skriva dubbel kod. Dvs kod som gör samma sak två gånger. Då är det bättre att göra en funktion utav det, eller en klass om det är variabler.
T.ex. både polisen och tjuven är personer. Båda har ett namn, då kan tjuv och polis ärva av person. Men det är som sagt överkurs.
Sen gäller det bara att hitta vart alla metoder platsar, vem ska ha metod x och vem ska ha metod y. Vad ska ärvas?
Hoppas det hjälpt lite mer.