SsNN

6 respostas
A

Olá,

existe algum jeito simples de fazer um while com S (maiusculo) / s (minusculo), e N (maiusculo) / n (minusculo) facilmente?

algo do genero:

char bla;

while(bla!=´SsNn´) {

// vc digitou algo diferente de SsNn…

}

6 Respostas

Hayros
do
{
char example = scanner.getChar();
//eu nunca usei a scanner, vc vê o método certo
}
while(example != S||example != s|| example != N|| example != n);

switch(example)
{
case 's':
case 'S': System.out.println("O usuário escolheu 'sim'.");break;
case 'n':
case 'N': System.out.println("O usuário escolheu 'não'.");break;
}

//eu também nunca acerto a sintaxe do switch de primeira
A

Ele se prende no while, e não sai…

ps: coloquei while(example != ´S´ || … (com aspa simples)

ACDias

Troca o or(||) por and (&&) q vai funcionar

A

Obrigado,

mas, não entendi a lógica.

enquanto (example for diferente de ´S´ OU example for diferente de ´s´… faça… (para mim estaria certo! pois ele poderia ser S ou s…)

E ele nunca podera ser E. (ou S e s ao mesmo tempo…)

Hayros

Opa!
É isso aí mesmo, pq eu usei != ao invés de ==
assim o laço tá:
“enquanto example não for ‘s’ OU não for ‘S’…”
o certo seria comop ele disse:
“Enquanto example não for ‘s’ E (nem) for ‘S’…”

erro meu.

peczenyj

Pense em Expressões Regulares ;-)

char a = 'X';
		
		if(java.util.regex.Pattern.matches("[SsNn]","" + a)) {
			System.out.println("CASA");
		} else {
			System.out.println("Nao CASA");
		}
Criado 13 de setembro de 2006
Ultima resposta 14 de set. de 2006
Respostas 6
Participantes 4