Ver Mensaje Individual
  #6 (permalink)  
Antiguo 21/09/2012, 02:32
Avatar de Fuzzylog
Fuzzylog
 
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 3 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;
}