Buenas y ante todo gracias a todos, mi duda es que en el metodo "Encriptar" no me entra al "if", y compruebo las variables String "cadenaAbecedario" y "cadenaFrase" y contienen los datos correctos pero no se por que no entra en la conficion "if", y si la comento, me ejecuta el codigo que contiene if, y le mete al array "resultado", la ultima posición "44" del "ArrayAbecedario", concatena fila y columna.
import java.util.Scanner; public class polybios1 { private static final String LeerMatriz = null; static String Frase = ""; static String ArrayAbecedario[][]={ {"a","b","c","d","e"}, {"f","g","h","i","k"}, {"l","m","n","o","p"}, {"q","r","s","t","u"}, {"v","w","x","y","z"} }; public static void main(String[] args) { //Solicitamos frase para cifrar solicitaFrase(); String FraseParaCifrar[]; FraseParaCifrar = new String [Frase.length()]; RellenaMatriz(FraseParaCifrar, Frase); MostrarFraseParaCifrar(FraseParaCifrar); Encriptar(FraseParaCifrar, ArrayAbecedario); } private static void Encriptar(String[] fraseParaCifrar, String[][] ArrayAbecedario) { String resultado[]; for (int o = 0;o < fraseParaCifrar.length; o++){ System.out.print(fraseParaCifrar[o]+"-"); } resultado = new String [fraseParaCifrar.length]; int fila = 0; int columna = 0; for (fila = 0; fila <= 4; fila++){ for (columna = 0; columna <= 4; columna++){ //System.out.print(ArrayAbecedario[fila][columna]); String cadenaAbecedario = ""; cadenaAbecedario = ArrayAbecedario[fila][columna]; for (int o = 0;o < fraseParaCifrar.length; o++){ //System.out.println(fila+""+columna); //System.out.println(fraseParaCifrar[1]); String cadenaFrase = fraseParaCifrar[o]; System.out.println(fraseParaCifrar[0]); if (cadenaAbecedario == cadenaFrase){ //System.out.println(fila+""+columna); String filaString= String.valueOf(fila); String columnaString= String.valueOf(columna); String posicion = ""; posicion = filaString + columnaString; resultado[o]= posicion; } } }} for(int y = 0; y < resultado.length;y++){ System.out.print(resultado[y]+"-"); //resultado[y] = resultado[y] *19*58*86*74 ; //System.out.print(resultado[y]+","); } } private static void MostrarFraseParaCifrar(String[] fraseParaCifrar) { for (int i = 0; i < Frase.length();i++ ){ //System.out.print(fraseParaCifrar[i]); } } 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 void solicitaFrase() { Scanner sc = new Scanner(System.in); System.out.println("Introduce frase para cifrar solo letras: "); Frase = sc.nextLine(); } }