Como posso faço para diferenciar Maiúscula de minuscula na escolha de um menu?
Olá, tenho a seguinte dúvida: tenho um menu que em vez de números eu uso letras, no caso eu defini letra maiúscula, mas quero também que o usuário use minusculas, por exemplo :
Como devo proceder? posso usar if?
do{System.out.println("Escolha a opçao:");
System.out.println("A - Faça isso:");
System.out.println("B - Faça aquilo:");
System.out.println("C - Sair:");
resp1=sc.next();
switch(resp1.charAt(0)){
case 'A':
menuA();
break;
case 'B':
menuB();
break;
case 'C':
System.exit(0);Helio Silva
Curtidas 0
Respostas
Paulo Santana
27/05/2011
Ola heliopiracicaba.
Eu estou postando um exemplo.
Aguardo retorno
// Este exemplo mostra como comparar strings sem
// considerar letras maiúsculas e minúsculas
public class Estudos{
public static void main(String[] args){
String s1 = "GOSTO de Java";
String s2 = "gosto de java";
if(s1.equalsIgnoreCase(s2))
System.out.println("As duas strings sao iguais");
System.exit(0);
}
}
GOSTEI 0
Helio Silva
27/05/2011
@Paulo
Entendi, mas no meu caso vou precisar declarar as duas variáveis ? "A" e "a" ? ou não necessariamente??
GOSTEI 0
Helio Silva
27/05/2011
[quote="heliopiracicaba"]Olá, tenho a seguinte dúvida: tenho um menu que em vez de números eu uso letras, no caso eu defini letra maiúscula, mas quero também que o usuário use minusculas, por exemplo :
Como devo proceder? posso usar if?
o switch permite vários case, por isso que precisa do break:
do{System.out.println("Escolha a opçao:");
System.out.println("A - Faça isso:");
System.out.println("B - Faça aquilo:");
System.out.println("C - Sair:");
resp1=sc.next();
switch(resp1.charAt(0)){
case 'A':
menuA();
break;
case 'B':
menuB();
break;
case 'C':
System.exit(0);
do {
System.out.println("Escolha a opçao:");
System.out.println("A - Faça isso:");
System.out.println("B - Faça aquilo:");
System.out.println("C - Sair:");
resp1 = sc.next();
switch (resp1.charAt(0)) {
case 'A':
case 'a':
menuA();
break;
case 'B':
case 'b':
menuB();
break;
case 'C': case 'c': // outra notação (prefiro as anteriores)
System.exit(0);
}
...
do {
System.out.println("Escolha a opçao:");
System.out.println("A - Faça isso:");
System.out.println("B - Faça aquilo:");
System.out.println("C - Sair:");
resp1 = sc.next();
switch (resp1.toUpperCase().charAt(0)) {
case 'A':
menuA();
break;
case 'B':
menuB();
break;
case 'C':
System.exit(0);
}
...
GOSTEI 0
Helio Silva
27/05/2011
@simu ,
@Paulo
Muito obrigado pela dica, ajudou muito! Boa sexta pra vcs!
abs.
GOSTEI 0
Douglas Eric
27/05/2011
Você quer "diferenciar" ou "não diferenciar"?
pelo título do seu tópico, dá a idéia errada.
O java é case sensitive, então ele já diferencia.
Se você quer que tanto maiuscula quanto minuscula façam a mesma coisa, então você quer NÃO diferenciar.
O jeito mais fácil de fazer isso é, trocar
por
O método toUpperCase() da classe String, retorna a mesma String, porém, com todas as letras maiusculas.
resp1=sc.next();
resp1=sc.next().toUpperCase();
GOSTEI 0
Helio Silva
27/05/2011
[quote="sekkuar"]Você quer "diferenciar" ou "não diferenciar"?
pelo título do seu tópico, dá a idéia errada.
O java é case sensitive, então ele já diferencia.
Se você quer que tanto maiuscula quanto minuscula façam a mesma coisa, então você quer NÃO diferenciar.
O jeito mais fácil de fazer isso é, trocar
por
O método toUpperCase() da classe String, retorna a mesma String, porém, com todas as letras maiusculas.
Obrigado Sekkuar,
Realmente não tinha atentado para esse fato, vou me policiar e espero não fazer isso novamente. Farei o possível para que o tópico fique bem explicado e o assunto também!
vlw.
resp1=sc.next();
resp1=sc.next().toUpperCase();
GOSTEI 0
Helio Silva
27/05/2011
Resolvido,
utilizei as dicas do Simu e Sekkuar!
valeu mais uma vez!!!
[]´s
GOSTEI 0