Java Como faço para "movimentar" uma letra determinado número de vezes

Estou pensando em uma criptografia que seria… tenho uma frase " Hello World" para criptografar eu coloco em uma lista dinâmica e pego primeiramente a palavra Wold e movimento cada letra determinado número de vezes. Ex: D eu movimento em 12 vezes e ele se transforma em…Q.

E a sua dificuldade está onde?

Algo para você pensar: quando a letra é z minúscula e incrementa, para qual letra o algoritmo deve ir? E Z maiúsculo?

Dicas: dê uma olhada no método charAt() da String, que permite pegar um caractere (char) de uma posição da String.

Abraço.

faça o seguinte:

char letra ='a';
letra +=12;
System.out.println(letra);

Como pode ver… é só somar o char, se vc quer pegar cada letra de uma palavra faça o seguinte:

        String palavra = "Hello World";
        String novaPalavra = "";
        for (int i = 0; i < palavra.length(); i++) {
            char letra = palavra.charAt(i);
            if (letra!= ' ') { // só para pular o espaço
                letra +=12;
            }
            novaPalavra = novaPalavra+letra;
        }
        System.out.println(novaPalavra);
1 curtida

Obrigada 4mega era isso mesmo que eu mesmo que eu queria. :relieved:

Para fazer as letras voltarem ao ‘a’ após o ‘z’, faça o seguinte:

                String palavra = "Hello World";
		palavra = palavra.toLowerCase();
		String novaPalavra = "";
		for (int i = 0; i < palavra.length(); i++) {
			char letra = palavra.charAt(i);
			if (letra != ' ')
				letra = (char) (((letra - 97 + 12) % 26) + 97);
			novaPalavra = novaPalavra + letra;
		}
		System.out.println(novaPalavra);

Isso imprime:tqxxa iadxp