Ciao a tutti sto iniziando a studiare java e come sempre ci sono degli esercizi che non riesco a risolvere.
Il problema è: scrivi un programma che stampa delle parole in verticale idealmente appese a un filo. Ad esempio, se le parole sono:
uno due tre quattro cinque
deve essere stampato:
codice:
U D T Q C
N U R U I
O E E A N
      T Q
      T U
      R E
      O
Le parole vanno stampate in maiuscole, separate l'una dall'altra da uno spazio.
Il mio programma è (ho lasciato perdere gli spazi tra una parola e l'altra):
codice:
import java.util.Scanner;
import java.util.StringTokenizer;
class ParoleAppese{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("insersci le parole");
String f=sc.nextLine();
final int n=4;
String maiuscole[]=new String[n];
StringTokenizer st = new StringTokenizer(f," ");
int count=0;
while(st.hasMoreTokens()){
    String numero1=st.nextToken();
    String m=numero1.toUpperCase();
    maiuscole[count]=m;
    count++;
}
    for(int colonne=0;colonne<count;colonne++){ //colonne
        for(int posizionelettera=0;posizionelettera<maiuscole[colonne].length();posizionelettera++)
            System.out.println(maiuscole[colonne].charAt(posizionelettera));
    }
}
}
Perchè il compilatore stampa le parole tutte in verticale? dov'è che sbaglio?