Receber um unico char

19 respostas
F

ola pessoal, como faço para receber numa variavel char um único caracter?
abçs

19 Respostas

crpablo

Cara, vc poderiar expor melhor sua dúvida?

Qual a aplicação/finalidade?

Abraço

F

NUM SWITCH DEVO RECEBER UMA LETRA OU OUTRA, MAS PARA isso preciso receber na variavel char, como um input,nextint, porém para um unico char
acho que é isso

vanzella

Posta o codigo do seu Switch

F

System.out.println("Deseja Criptografar ou Descriptografar (C/D):"); caracter = input.?????? switch (caracter){ case 'C': case 'c': System.out.println("Digite o nº a ser criptografado:"); numero = input.nextInt(); while ((numero <= 999) || (numero >=10000)){ System.out.println("Digite o nº compreendido entre 1000 e 9999:"); numero = input.nextInt(); } Criptografia1.SetNum(numero); Criptografia1.GetNum(); System.out.printf("Número criptografado: %s", Criptografia1.GetCripto()); break; }
"?"essa é minha dúvida

vanzella

bom, tu podes fazer assim:

...
String caracter = JOptionPane.showInputDialog("Deseja Criptografar ou Descriptografar (C/D):", null);
		switch (caracter.charAt(0)){
...
Kassiane_Pretti

Como vc irá analisar apenas duas letras (C e D) usa if/else, assim:

if(caracter == 'C' | caracter == 'c') {...} else{...}

Acho que o código fica melhor assim…

Espero ter ajudado :wink:

F

ha outra forma de receber sem ser dessa: “JOptionPane.showInputDialog”???
sem novas janelas

Kassiane_Pretti

Usa o Scanner…

crpablo

KassiPretti:
Como vc irá analisar apenas duas letras (C e D) usa if/else, assim:

if(caracter == 'C' | caracter == 'c') {...} else{...}

Acho que o código fica melhor assim…

Espero ter ajudado :wink:

Para não precisar testar se foi digitado o caracter Upper ou Lower, pode fazer assim:

String caracter = JOptionPane.showInputDialog("Deseja Criptografar ou Descriptografar (C/D):", null).toLowerCase();

Abraço

Kassiane_Pretti

crpablo:
KassiPretti:
Como vc irá analisar apenas duas letras (C e D) usa if/else, assim:

if(caracter == 'C' | caracter == 'c') {...} else{...}

Acho que o código fica melhor assim…

Espero ter ajudado :wink:

Para não precisar testar se foi digitado o caracter Upper ou Lower, pode fazer assim:

String caracter = JOptionPane.showInputDialog("Deseja Criptografar ou Descriptografar (C/D):", null).toLowerCase();

Abraço

Será que vc pode explicar melhor como funciona toLowerCase(), pois não tinha visto ele ainda… :oops:

Até

crpablo

KassiPretti:
crpablo:
KassiPretti:
Como vc irá analisar apenas duas letras (C e D) usa if/else, assim:

if(caracter == 'C' | caracter == 'c') {...} else{...}

Acho que o código fica melhor assim…

Espero ter ajudado :wink:

Para não precisar testar se foi digitado o caracter Upper ou Lower, pode fazer assim:

String caracter = JOptionPane.showInputDialog("Deseja Criptografar ou Descriptografar (C/D):", null).toLowerCase();

Abraço

Será que vc pode explicar melhor como funciona toLowerCase(), pois não tinha visto ele ainda… :oops:

Até

Opa…

O .toLowerCase(); converte todos os caracteres para minúsculo e o .toUpperCase(); para maiúsculo… :slight_smile:

Abraço…

Kassiane_Pretti

Agora sim…

obrigadinha :wink:

J

Os caracteres maiusculos são convertidos em minusculos, assim não precisa fazer dois testes para cada letra.

Abraço!

Andre_Brito

crpablo:
KassiPretti:
crpablo:
KassiPretti:
Como vc irá analisar apenas duas letras (C e D) usa if/else, assim:

if(caracter == 'C' | caracter == 'c') {...} else{...}

Acho que o código fica melhor assim…

Espero ter ajudado :wink:

Para não precisar testar se foi digitado o caracter Upper ou Lower, pode fazer assim:

String caracter = JOptionPane.showInputDialog("Deseja Criptografar ou Descriptografar (C/D):", null).toLowerCase();

Abraço

Será que vc pode explicar melhor como funciona toLowerCase(), pois não tinha visto ele ainda… :oops:

Até

Opa…

O .toLowerCase(); converte todos os caracteres para minúsculo e o .toUpperCase(); para maiúsculo… :slight_smile:

Abraço…

Tem certeza que isso funciona com char primitivo também?? Eu nunca consegui fazer isso pelo menos…
Isso só funciona se você levar em conta como tipo Character. E nesse caso, acredito que você poderia usar .equals() em vez de == para comparação.

Abraço.

F

isso existe???
acredito não ser um metodo da classe scanner
sabem outra forma de incluir um caracter a uma variavel char sem ser pelo joption?
caracter = input.charAt(0);

Kassiane_Pretti

o equals() e equalsIgnoreCase() funciona para char e String???

crpablo

Com char primitivo nunca testei… mas creio q naum seja possível assim tão simples…

Com relação ao equals só conseguí usar com String… com char naum funfou… agora com Character tem o equals que funciona tranquilo…

F

valew KassiPretti agora foi
:smiley:
brigadão

Andre_Brito

.equals() é herdado e sobrescrito (override) pela class String, portanto funciona tanto pra ela quanto pra QUALQUER objeto, mas não pra tipo primitvo (eu acho).

.equalsIgnoreCase() funciona pra Strings e Character, mas não pra char. Na verdade, tipos primitivos não tem método… eu pelo menos nunca vi (só o length que não é método nos arrays primitivos e não nas Collections (usam size() ou length()).

Abraço.

Criado 25 de janeiro de 2008
Ultima resposta 25 de jan. de 2008
Respostas 19
Participantes 6