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?