Olá Pessoal!
Tenho uma matriz de String com 4 linhas e 3 colunas. Como faço para colocar estes Strings em forma crescente?
Fiz utilizando Arrays.sort, mas não funcionou de forma correta.
Abaixo está o codigo:
public static void main(String args[]) {
String nome[][] = new String[4][3];
String x = “”, n;
//inicio do laço for para gravar os nomes
for (int l = 0; l < 4; l++) {
//inicio do laço for interno
for (int c = 0; c < 3; c++) {
n = JOptionPane.showInputDialog("Digite um nome para a linha " + l + "ª e para " + c + "ª coluna") + " ";
nome[l][c] = n;
x += nome[l][c];
}//fim do laço for externo
x += "\n";
}//fim do laço for para gravar os nomes
JOptionPane.showMessageDialog(null, x, "Nomes Digitados pelo Usuario", JOptionPane.INFORMATION_MESSAGE);
//inicio do laço for para ordenar os nomes de forma crescente
for (int l = 0; l < 4; l++) {
//inicio do laço for interno
for (int c = 0; c < 3; c++) {
Arrays.sort(nome);
}//fim do laço for externo
}//fim do laço for para ordenar os nomes de forma crescente
//inicio do laço for para imprimir os nomes ordenados de forma crescente
for (int l = 0; l < 4; l++) {
//inicio do laço for interno
for (int c = 0; c < 3; c++) {
x += nome[l][c];
}//fim do laço for externo
x += "\n";
}//fim do laço for para imprimir os nomes de forma crescente
JOptionPane.showMessageDialog(null, x, "Nomes Digitados pelo Usuario de Forma Crescente", JOptionPane.INFORMATION_MESSAGE);
}
Abaixo está o erro do console no netBeans:
Exception in thread “main” java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.Comparable
at java.util.ComparableTimSort.countRunAndMakeAscending(ComparableTimSort.java:290)
at java.util.ComparableTimSort.sort(ComparableTimSort.java:157)
at java.util.ComparableTimSort.sort(ComparableTimSort.java:146)
at java.util.Arrays.sort(Arrays.java:472)
at estruturadedados.Exercicio8rQ7.main(Exercicio8rQ7.java:38)
Java Result: 1