Sto provando a creare un triangolo completo con qualsiasi input di testo. Esempio se ho stringa che è "ABCDEFGHIJ" Voglio che il risultato siaPiramide di testo che utilizza la ricorsione in Java
aj
abij
abchij
abcdghij
abcdefghij
se la lunghezza della stringa è strano come in "ABCDEFGHIJ" allora l'uscita sarebbe
a
abi
abchi
abcdghi
abcdefghi
Ecco quello che ho avere finora ma la mia uscita per le parole è capovolta. La mia uscita è
abcdefghij
abcdghij
abchij
abij
aj
Quello che ho fatto finora
public static void main(String[] args) {
solve("abcdefghij");
}
public static void solve(String word) {
solve(word, word.length()/2-1);
}
public static void solve(String word, int it) {
// print starting spaces
for(int i = 0; i < it; i++)
System.out.print(" ");
// print out string
System.out.print(word+"\n");
if(word.length() > 2) {
int newlengthperside = (word.length() - 2)/2;
solve(word.substring(0, newlengthperside) + word.substring(word.length() - newlengthperside), it-1);
}
}
ho solo bisogno di un suggerimento su come iniziare da aj anziché alla fine. Grazie per qualsiasi aiuto. Questo è compito a casa quindi è apprezzato solo un suggerimento.
Inizia con la stampa ** dopo ** la chiamata ricorrente per ripristinare l'ordine. – zubergu
@zubergu - Peccato che non fosse una risposta, la risposta perfetta a una domanda relativa ai compiti. Non posso votare le risposte esistenti per essere una soluzione di codice per una domanda sui compiti, quindi farò +1 sul tuo commento. –