Ordenar matriz de string de duas dimensões por ordem alfabética em java

Eu estou fazendo um exercício, mas tenho um erro ao atingir a linha onde é classificado, eu ‘ M pedindo com a classificação de função, aqui está o exercício

Capturar una matriz que me permita almacenar nombres de personas, mostrar la matriz original yordenarlos por orden alfabético.

o código

import java.util.Arrays;import java.util.Scanner;public class NombresPersonas {public static void main(String args) { Scanner sc = new Scanner(System.in); //array a ordenar //String cadenas={"Fernando","Pepe","Alejandro","Alfredo","Eufrasio"}; System.out.println("Ingrese el numero de filas: "); int filas = sc.nextInt(); System.out.println("Ingrese el numero de columnas: "); int columnas = sc.nextInt(); String cadenas = new String ; for (int i = 0; i < cadenas.length; i++) { for (int j = 0; j < cadenas.length; j++) { System.out.println("Ingrese un nombre para la casilla "); cadenas = sc.next(); } } Arrays.sort(cadenas); //Mostramos el array ya ordenado for (String i : cadenas) { for(String k: i){ System.out.println(i); } } } }

O erro

Ingrese el numero de filas: 2Ingrese el numero de columnas: 2Ingrese un nombre para la casilla pedroIngrese un nombre para la casilla jesusIngrese un nombre para la casilla alfonsoIngrese un nombre para la casilla carlosException in thread "main" java.lang.ClassCastException: args) { Scanner sc = new Scanner(System.in); //array a ordenar //String cadenas={"Fernando","Pepe","Alejandro","Alfredo","Eufrasio"}; System.out.println("Ingrese el numero de filas: "); int filas = sc.nextInt(); System.out.println("Ingrese el numero de columnas: "); int columnas = sc.nextInt(); String cadenas = new String ; for (int i = 0; i < cadenas.length; i++) { for (int j = 0; j < cadenas.length; j++) { System.out.println("Ingrese un nombre para la casilla "); cadenas = sc.next(); } } System.out.println("Matriz original: "); imprimir(cadenas); for(String i: cadenas){ Arrays.sort(i); } System.out.println("Matriz ordenada alfábeticamente: "); imprimir(cadenas);} public static void imprimir(String M){ System.out.println(); for (int i=0; i<M.length; i++){ for (int j=0; j<M.length; j++) System.out.print(M+" "); System.out.println(); } System.out.println(); }}

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *