Omgekeerde volgorde stack

Status
Niet open voor verdere reacties.

Virusbeatbox

Gebruiker
Lid geworden
18 dec 2007
Berichten
201
Gewoon even een vraagje,

ik moet een klein java programmatje maken die de naam, geboortedatum, telefoon en e-mail van een persoon inleest, daarna leest hij de naam, geboortedatum, adres en telefoon in van een andere persoon. Ik had gedacht om deze gegevens dan op een stack te pushen maar wanneer ik deze dan pop, dan staan deze in de omgekeerde volgorde.

Dus heb ik een methode gemaakt die deze zaken omdraait van volgorde en opnieuw afdrukt. Hierdoor krijg ik dus ALLE gegevens in de juiste volgorde te zien.

Mijn vraag is nu, hoe zorg ik ervoor dat ik bij deze laatste methode enkel de namen te zien krijg?

Ik wil dus eerst ALLE gegevens eerst in de foutieve volgorde (zoals ik reeds heb) en bij de methode die alles omkeert, enkel de namen... hint??
 
Laatst bewerkt:
Je kan de elementen ook in een gewone ArrayList stoppen dan ben je niet beperkt in de volgorde van itereren. Een Stack voegt in Java niet veel functionaliteit toe t.o.v. een List.

Voor het gemak kan je een list ook Reversen. Tip, dit kan trouwens ook met een Stack.
 
Laatst bewerkt:
Wel, ik heb reeds een methode die de eerste stack omkeerd. Het enige probleem is dat hij dan ALLE gegevens opnieuw op het scherm afdrukt.

Indien het kan helpen, ik heb voor de 2 personen een aparte objectklasse gemaakt waar de naam e.d. worden opgenomen. Hierin staat een methode getNaam() maar heb geen flauw idee waar ik dit moet toepassen zodat enkel de naam wordt afgedrukt na omkeren.

De klasse van de eerste stack bevat de methode:
public void drukAf()
{
while(!isEmpty())
{
Object e = pop();
System.out.println(e);
hulpS.push(e);
}
while(!hulpS.isEmpty())
{
push(hulpS.pop());
}
}

public void keerOm()
{
while(!hulpS.isEmpty())
{
Object e = hulpS.pop();
System.out.println(e);
}
}

de stack hulpS bevat dezelfde maar enkel drukAf()
jammer genoeg geeft hij dan ALLE elementen terug ipv enkel de namen
 
Laatst bewerkt:
Je moet je object casten naar je object klasse. Dan mag je hierna getNaam() functie gebruiken.

dus:
Code:
Object e = pop();
Persoon p = (Persoon) e; // ik weet niet hoe je klasse heet, maar zal wel iets van Persoon zijn.
System.out.println(p.getNaam());  //zal alleen de naam uitprinten..
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan