na parte que somo char b = a+1 eu gostaria que o ‘a’ se transformasse em ‘b’, porem quando mando imprimir isso ai, ele imprime uns numeros , deve ser o valor unicode do char, e nao dá certo…
Tem alguma maneira de eu somar um char ‘a’ +1 e ele se transformar em ‘b’ ???
C:\Documents and Settings\Administrador\WebApplication3\src\coiso.java:38: possible loss of precision
found : int
required: char
char b = a+1;
1 error [/quote]
tenta assim:
char a = 'a';
char b = (char)(a + 1);
System.out.println ("O caracter b eh " + b);
Lembrando sempre que em Java nao existe ASCII, eh tudo Unicode, cuidado com as cedilhas, acentos e outros caracteres que nao estao na tabela ASCII parao no comeco do conjunto Unicode. Pra variar, o link de sempre:
Que algoritmo o quê, é só pensar um pouco (é para isso que os professores passam exercícios: para pensar, não para chorar )
Vamos pensar nos casos extremos (ou seja, no começo e no fim).
Digamos que você queira somar +1, vai dar:
A -> B
B -> C…
e assim por diante. Mas o que ocorre com Z?
Z -> ?
No caso da Cifra de César, aí você precisa ver o que você precisa fazer. Na Cifra de César clássica, se você chegar em Z, vai para a letra A (ou seja, dá a volta):
Z -> A
Agora vamos somar +2. Isto vai dar:
A -> C
B -> D…
De novo, vamos examinar o que ocorre perto do fim.
X -> Z
Y -> ?
Z -> ?
Se você entendeu o que eu quis dizer, deve ser algo como:
X -> Z
Y -> A
Z -> B
e assim por diante.
A idéia aqui é fazer um programa que some +1, +2 … até +25, e ver se alguma das frases começa a fazer sentido.