Java - Cadena, donde a cada letra se le agrega una letra

 
Vista:

Cadena, donde a cada letra se le agrega una letra

Publicado por L (1 intervención) el 04/02/2019 06:45:54
Soy nueva en esto , y no logro hacer que funcione optimamente,
Necesito que cada letra de la cadena, se cambie "dos letras por delante" es decir, si la cadena es "ABC" el resultado sea "CEF", solo logro que la primera letra sea correcta...
Gracias de antemano.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public static void main(String[] args) throws IOException{
    BufferedReader cadena;
 
    char[] abc;
    abc=new char[26];
 
    System.out.println("Ingresa una cadena");
    cadena = new BufferedReader (new InputStreamReader(System.in));
    String palong = cadena.readLine();
 
    for ( int i=0; i<palong.length(); i++) {
        abc[i] = (char) ( palong.charAt(i)+(i+2));
    }
 
    System.out.println(abc);
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Cadena, donde a cada letra se le agrega una letra

Publicado por Kabuto (1381 intervenciones) el 05/02/2019 00:19:52
Hola.

Al caracter solo has de sumarle 2, no i + 2

1
2
3
for ( int i=0; i<palong.length(); i++) {
        abc[i] = (char) ( palong.charAt(i)+(i+2));
    }

Tiene que quedar así:
1
2
3
for ( int i=0; i<palong.length(); i++) {
        abc[i] = (char) ( palong.charAt(i)+(2));
    }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Cadena, donde a cada letra se le agrega una letra

Publicado por Billy Joel (876 intervenciones) el 05/02/2019 19:01:38
Yo supongo que primero debemos tener registrado un arreglo de caracteres para saber cual caracter es el sigue.
Entonces yo lo resuelvo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static void main(String[] aqrgs) throws IOException {
    char[] caracteres = {'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', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'};
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    System.out.print("Ingresa una cadena: ");
    String cadena = br.readLine();
    String salida = "";
    for (char c : cadena.toCharArray()) {
        for (int i = 0; i < caracteres.length; i++) {
            if (c == caracteres[i]) {
                salida += i + 2 < caracteres.length ? caracteres[i + 2] : caracteres[(i + 2) - caracteres.length];
            }
        }
    }
    System.out.println("Salida: " + salida);
}

Espero te sirva,
Saludos!!
;-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar