21/09/2012, 02:32
|
| | | Fecha de Ingreso: agosto-2008 Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 2 meses Puntos: 188 | |
Respuesta: Caracteres repetidos Lo prometido es deuda, ahi va la corrección:
Si usas java 5 o superior mejor usa ArrayLists con generics que meros arrays. Si no tienes generics entonces tienes que castear cada elemento al recuperarlo a la clase deseada.
char []caracteres={}; => List<char> caracteres = new ArrayList<char>();
int [] repeticiones = {}; => List<Integer> repeticiones = new ArrayList<Integer>();
Arraycadena lo dejo porque toCharArray convierte directamente a esta clase y es más engorro pasar al otro. De todos modos por convenio se le debería llamar "arrayCadena".
Luego:
for(int i=0;i< Arraycadena.length;i++){ // OJO con lo que pones aqui, ese > era un peligro porque te saldrias del indice del array de caracteres
char caracterEvaluado = Arraycadena[i];
if (caracteres.contains(caracterEvaluado)) { // Por este motivo uso un ArrayList
int indiceEvaluado = caracteres.indexOf(caracterEvaluado); // creo que era así, revisalo usando la documentacion de la clase.
caracteres.set(indiceEvaluado, caracteres.get(indiceEvaluado)+1);
} else {
caracteres.add(caracterEvaluado);
repeticiones.add(1);
}
}
Con esto deberias tener ya cubiertos los dos arrays.
Ahora haz la parte que comprueba el caracter con más repeticiones ;) y lo muestra por pantalla.
__________________ if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
} |