Ciao a tutti! Stavolta non ho sbagliato gli indici è un pò più grave la situzione! xD
Sto facendo un programma in java che date n stringhe in input le salva in un vettore di String, salva ogni carattere delle stringhe in una matrice e la stampa in verticale. Il problema è che mi solleva la seguente eccezione:
"Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.String.charAt(String.java:694)
at Parole_verticali.main(Parole_verticali.java:25)"
Vi posto il codice che ho scritto:
codice:
import java.util.*;
public class Parole_verticali {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n, i, j, maxlung = 0;
System.out.println("Quante frasi vuoi mettere:");
n = in.nextInt();
String[] frase = new String[n];
for(i = 0; i < n; i++) {
frase[i] = in.nextLine();
if(frase[i].length() > maxlung)
maxlung = frase[i].length();
}
char Matrix[][] = new char[maxlung][n];
for(i = 0;i < Matrix.length; i++){
for(j = 0; j < Matrix[i].length; j++) {
Matrix[j][i] = frase[i].charAt(j);
}
}
for(i = 0;i < Matrix.length ;i++){
for(j = 0; j < Matrix[i].length; j++) {
System.out.printf("%c ", Matrix[i][j]);
System.out.println();
}
}
}
}
Come posso risolvere?