Benjamin Kamide:
Estoy tratando de resolver dos tipos diferentes de matrices. Estoy ordenar matrices de enteros en orden numérico que he trabajo y también necesito para ordenar matrices de caracteres en orden alfabético. Estoy teniendo un pequeño problema con la clasificación de la matriz de caracteres. Mi maestra nos quiere para ordenar las letras mayúsculas y quiere que se queden de capital cuando se imprime la matriz. En primer lugar tengo el array de caracteres convertir todo a minúsculas por lo que ordena correctamente. Pero ¿cómo iba a obtener el carácter de volver a la capital sin alterar el orden.
import java.util.*;
public class MyProgram extends ConsoleProgram
{
int[] numbers = {4, 2, 3, 1, 11, 9};
Character[] characters = {'z', 'c', 'a', 'q', 'B', 'g'};
public void run()
{
Arrays.sort(numbers);
System.out.println(Arrays.toString(numbers));
Arrays.sort(characters);
for(int i = 0; i < characters.length; i++)
{
if(Character.isUpperCase(characters[i]))
{
characters[i] = Character.toLowerCase(characters[i]);
Arrays.sort(characters);
}
System.out.println(characters[i]);
}
}
}
Tobias Steely:
Convierto a una matriz de cadenas, una especie que ignorando caso, entonces volver a convertirlo en una matriz de caracteres.
public char[] sortArray(char[] arr) {
// Creating a blank string array
String [] end = new String[arr.length];
// Converting (char) arr array to (string) end array.
for(int i = 0; i < arr.length; i++) {
end[i] = "" + arr[i];
}
// Sorts the end array ignoring case
Arrays.sort(end, String.CASE_INSENSITIVE_ORDER);
// Converting (string) end array to (char) arr array.
for(int i = 0; i < arr.length; i++) {
arr[i] = end[i].charAt(0);
}
// Returns arr aray
return arr;
}