ola pessoal, como faço para receber numa variavel char um único caracter?
abçs
Receber um unico char
19 Respostas
Cara, vc poderiar expor melhor sua dúvida?
Qual a aplicação/finalidade?
Abraço
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
Posta o codigo do seu Switch
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
bom, tu podes fazer assim:
...
String caracter = JOptionPane.showInputDialog("Deseja Criptografar ou Descriptografar (C/D):", null);
switch (caracter.charAt(0)){
...
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 
ha outra forma de receber sem ser dessa: “JOptionPane.showInputDialog”???
sem novas janelas
Usa o Scanner…
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
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
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
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é
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
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… 
Abraço…
Agora sim…
obrigadinha 
Os caracteres maiusculos são convertidos em minusculos, assim não precisa fazer dois testes para cada letra.
Abraço!
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
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…
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.
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);
o equals() e equalsIgnoreCase() funciona para char e String???
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…
valew KassiPretti agora foi

brigadão
.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.