webForumDet fria alternativet

vända på en utskrift

Javaur Java

1 svar · 279 visningar · startad av Prime_66

Prime_66Medlem sedan aug. 2004290 inlägg
#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);
}
antilizaerMedlem 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);
   }
}
135 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)