|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jan 2015
Messaggi: 6
|
[java] Parole appese
ciao sto iniziando ad imparare java e non capisco dove cavolo sbaglio:
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 maiuscolo, separate l'una dall'altra da uno spazio. Il mio programma è: 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;
for(int riga=0;riga<=maiuscole[count].length();riga++){ //riga
for(int primalettera=0;primalettera<=riga;primalettera++){ //primalettera
System.out.print(maiuscole[count].charAt(primalettera) + " " );
}
}
System.out.println();
count++;
}
}
}
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Beh, un pochino. Hai implicitamente supposto che le parole abbiano tutte la stessa lunghezza, ma questo non e' vero.
Ad ogni modo, mi sembra che l'algoritmo debba essere rivisto. L'esercizio e' semplice: devi stampare per righe, visto che non puoi tornare su. Nella prima riga metterai la prima lettera di tutte le parole, nella seconda la seconda lettera e cosi' via. Nel caso una parola sia piu' corta e non abbia lettere da scrivere in quella riga, ci metti uno spazio. Smetti di incrementare le righe quando non c'e' piu' nulla da scrivere
__________________
In God we trust; all others bring data |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:06.


















