Ordenar array usando un comparator:
http://www.mkyong.com/java/java-object-sorting-example-comparable-and-comparator/
Un saludo,
Este método te resultará útil para obtener los números iniciales de una cadena como las que manejas.
public class NewMain {
public static void main(String[] args) {
System.out.println("Para 11e: " + getNumero("11e"));
// el resultado que verás en la consola será: 11
}
public static String getNumero(String cadena) {
char[] toCharArray = cadena.toCharArray();
int i;
for (i = 0; i < toCharArray.length; i++) {
if (Character.isLetter(toCharArray[i])) {
break;
}
}
return cadena.substring(0, i);
}
}
Podeis ayudarme por favor llevo una semana intentando hacerlo y no soy capaz de sacar nada:
Construir un programa que tome por la entrada estándar una lista de cartas de la baraja española separadas entre sí por un blanco y dadas en una única línea y devuelva las cartas que quedan al eliminar los grupos de cartas que repiten su número. Las cartas que queden se deberán devolver por la salida estándar en una línea completa y ordenadas de menor a mayor según el orden estándar en la baraja española, es decir se ordena primero por palo (oros < copas < espadas < bastos) y después por número (as < dos < ... < siete < sota < caballo < rey).
Las cartas se identificarán con su número (1, 2, 3, 4, 5 , 6 , 7 , 10, 11, 12) seguido sin espacios de su palo (o, c, e, b).
Ejemplo
Entrada
1o 2c 10b 1c 11e 7e
Salida
2c 7e 11e 10b