Tem como somar chars ?!

Dae galera,

quero saber se tem como, eu somar char por ex:

char a = 'a';
char b =a+1;

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’ ???

valew

Uai, você já fez isso. É só imprimir direito:

char a = 'a';
char b = a + 1;
System.out.println ("O caracter b eh " + b);

edit :

dá esse erro aqui

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=williamnohath]edit :

dá esse erro aqui

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);   

[]'s

opa valew, funfou !

agora vamos ver se consigo fazer a gambiarra aqui :roll:

eh assim

        	char a = 'a';
        	char b = (char) (a+1);

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:

thingol,

no outro topico que eu perguntei sobre lógica, e falei que não era Cifra de Cesar ! eu estava errado… fiz a maior confusao no que eu precisava fazer…

o que eu preciso mesmo, é aplicar o algoritmo dessa cifra de cesar em uma string pra achar a frase…

voce por acaso tem algum codigo pra me ajudar a resolver isso ?

aonde o A > B
o B > C

da mesmo forma que vc tinha citado antes :oops:

valew :slight_smile:

Que algoritmo o quê, é só pensar um pouco (é para isso que os professores passam exercícios: para pensar, não para chorar :wink: )

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.

bele isso eu entendi, o problema que quando eu somo

por ex: Z+1 ele me retorna “/” ou “~” e nisso tá meu problema to me perdendo nisso ai

mas bele valew a ajuda…

ps: nao estou chorando, só estou querendo ajuda mesmo, pq meu prof passou isso e so faltou ele falou “se fodam pra fazer” ! mas é assim mesmo

Procura alguma coisa sobre Expressões Regulares

if (Pattern.matches("[a-zA-Z]")){
   //codigo se o char que vem depois de z+algumacoisa é uma letra
}   else   {
   //codigo se naum for
}

pensa um poco, naum eh taum difícil assim rapaix :wink:

Tem uma frase que sempre me vem a cabeca quando eu to encarando alguma coisa que eu naum consigo

“As soluções de todos os problemas são invariavelmente simples, mesmo que, as vezes seja difícil encontrá-la!” :roll:

valew