Buenas mi duda es que mi metodo "codificar", no me coje el array "FraseParaCifrar", que viene de un "Scanner", en cambio si se lo paso manualmente si me dice las posiciones la que se encuentra respecto al array "abecedario", el array comentado llamado "Cifrar", se lo paso al metodo "codificar", en vez de "FraseParaCifrar" y si me da las posiciones
{h,o} me da el 7,14.
Gracias a todos.
<pre lang='java'>
import java.util.*;
public class codifica {
/**
* @param args
*/
public static void main(String[] args) {
String Frase = "";
String Frase1 = LeerMatriz(Frase);
String FraseParaCifrar[];
FraseParaCifrar = new String [Frase1.length()];
RellenaMatriz(FraseParaCifrar, Frase1);
//String Cifrar[] = {"h","o"};
String abecedario[] = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
codificar(FraseParaCifrar, abecedario);
}
private static void RellenaMatriz(String[] fraseParaCifrar, String frase) {
for (int i = 0; i < frase.length();i++ ){
char letraChar = frase.charAt(i);
String letraString = Character.toString(letraChar);
fraseParaCifrar[i] = letraString;
}
}
private static String LeerMatriz(String Frase) {
Scanner sc = new Scanner(System.in);
System.out.println("Introduce frase para cifrar: ");
Frase = sc.nextLine();
return Frase;
}
private static void codificar(String[] FraseParaCifrar, String[] abecedario) {
int posicion = 0;
int resultado[];
resultado = new int [FraseParaCifrar.length];
for (int i = 0; i < abecedario.length; i++){
for (int o = 0;o < FraseParaCifrar.length; o++){
if (abecedario[i] == FraseParaCifrar[o]){
posicion = i;
resultado[o]= posicion;
}
}
}for(int y = 0; y < resultado.length;y++){
System.out.println(resultado[y]);
}
}
}