webForumDet fria alternativet

vända på en utskrift

Java

1 svar · 281 visningar · startad av Prime_66

Medlem sedan aug. 2004290 inlägg
Frågan#1

Detta är en metod som ingår i ett större program. Vad som händer när writeChain anropas är att det skrivs ut ord. Ord som kommer ifrån ordet som ligger i wordnode.previous.

Hur gör jag för att få utskriften av följande baklänges. Det info(som är ett ord) som nu skrívs ut först ska alltså istället skrivas ut sist. Jag vill inte använda en ny kö för detta ändamål, går väl att göra utan??

public void writeChain(){
writeChain(tail);
}

private void writeChain(WordNode wordnode){
if (wordnode!=null){
System.out.println(wordnode.info);
 writeChain(wordnode.previous);
}
System.exit(0);
}
Medlem sedan apr. 200357 inlägg
#2

Om det inte finns någon wordnode.next så kan du ju alltid göra så att det recursiva anropet till writeChain sker före utskriften av wordnode.info, dock så kan du inte ha System.exit(0) i writeChain metoden för då kommer ingenting ut, utan den får du lägga efter anropet till writeChain, vilket jag tycker känns mer logiskt.

private void writeChain(WordNode wordnode){
    if (wordnode!=null){
       writeChain(wordnode.previous); 
       System.out.println(wordnode.info);
   }
}
409 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
275 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)