el922
25-01-2015, 14:45
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:
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 è:
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++;
}
}
}
Perchè il programma mi genera un eccezione di tipo NullPointerException? ho sbagliato qualcosa nel ciclo for o nella logica del programma?
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:
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 è:
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++;
}
}
}
Perchè il programma mi genera un eccezione di tipo NullPointerException? ho sbagliato qualcosa nel ciclo for o nella logica del programma?