Tema: Tonteria
Ver Mensaje Individual
Antiguo 22-jun-2008, 12:36   #2 (permalink)
venkman
venkman llegará a ser famoso muy prontovenkman llegará a ser famoso muy pronto
 
Avatar de venkman
 
Fecha de Ingreso: enero-2008
Mensajes: 648
Respuesta: Tonteria

Tienes dos problemas: uno de paréntesis y otro de índices:

1. Lo que estás haciendo es buscar en v la posición de (c[i] +semilla), cuando lo que deberías hacer es buscar la posición de c[i] y luego desplazarlo semilla:
En lugar de v.indexOf((Character)c[i]+semilla)
Esto v.indexOf((Character)c[i])+semilla

2. Estás sumando semilla, pero realmente esto te va a llevar en ocasiones fuera del Vector. Tienes que hacer que cuando se pase vuelva al inicio.

El bucle quedaría así:
Código:
for(int i=0;i<c.length;i++){
    int posicion = v.indexOf((Character)c[i]); // Busca la posición inicial
    posicion += semilla; // Desplazamos semilla
    posicion = posicion%v.size; // aplicamos módulo del tamaño de v.
    sb.append(v.get(posicion));
}
venkman está desconectado   Responder Citando