Comparar valores em um char no while

7 respostas
K

Estou querendo fazer um laço para compara valores em um caracter char mas não estou conseguindo, não estou conseguido sair do laço.

O que está faltando na comparação dos valores…?

do{
        System.out.println("Gostaria de receber um Feliz Aniversário? Digite 'S' = para sim e 'N' para não");
        resposta = ler.nextLine().charAt(0);
        if (( resposta == 'S')||(resposta == 's' )){
            comecar = 's';
            System.out.println(comecar);
        }else if (( resposta == 'N')||(resposta == 'n' )){
            comecar = 'n';
        }
        contadorInicial = contadorInicial + 1;
        
        if (contadorInicial >= 3){
        System.out.println("Voçe já realizou três ou mais tentativas, veja oque o sistema pede. ");
    }
    }while((comecar != 'S')||(comecar != 's')||(comecar != 'N')||(comecar != 'n'));

7 Respostas

I

Coloca um breakpoint

K

Obrigado… Em modo string eu sei…
To querendo ver como que ser faz com char…

Qualquer link que saiba alguma dica, posta aqui para mim…

Abraço…!

K

Vou ver…!

K

Pessoal Boa Noite!..

Agora eu vou descansar.

Amanha eu volto…

Até mais…

T

@kodak, tenta isso aqui:

do{
        System.out.println("Gostaria de receber um Feliz Aniversário? Digite 'S' = para sim e 'N' para não");
        resposta = ler.nextLine().charAt(0);
	String respostaEmString = "" + resposta;
        if (respostaEmString.equalsIgnoreCase("s"){
            comecar = 's';
            break;
            System.out.println(comecar);
        }else if (respostaEmString.equalsIgnoreCase("n"){
            comecar = 'n';
            break;
        }
        contadorInicial++;
        
        if (contadorInicial== 3){
        System.out.println("Voçe já realizou três ou mais tentativas, veja oque o sistema pede. ");
    }
    }while(true);
L

@kodak, você pode fazer da maneira elegante como @thiagobasalles fez, ou pode apenas trocar a condição do seu while para:

Se ele for diferente de qualquer um destes argumentos, continue no laço…

K

Continuação do projeto…
Mais uma ajuda…

Eu estou agora verificando a idade, que não pode começar com zero e com isso faz uma verificação no array porém não estou conseguindo finaliza



char vetorNumeros[] = {‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’,‘0’};



do{

System.out.println(“Olá “+nome+”, qual é sua idade?”);

System.out.print(“R:);

idade = ler.nextLine();

totalDeCaracteres = idade.length()+1;

contador = 0;
int x = 0;
        char caracterIdade = idade.charAt(x);
        primeiroDigito = idade.charAt(0);
        
        if (primeiroDigito ==  '0'){
            System.out.println("Digito '0' não reconhecido pelo sistema como idade inicial o primeiro dígito deverá ser entre 1 à 9!");
        }else{
            
        for (int i=0; i< vetorNumeros.length-1; i++){
            totalDeCaracteres = totalDeCaracteres -1;
            System.out.println("Total de caracteres..> "+totalDeCaracteres);
            System.out.println("Vetor Idade: "+vetorNumeros[i]);
            //if(primeiroDigito == vetorAlfabeto[i]){
               if(caracterIdade != vetorNumeros[i]){
                   System.out.println("Valor diferente!...");
                   if (totalDeCaracteres == 0){
                       System.out.println("Não é um valor númerico...!");
                       break;
                   }else{
                       x = x + 1;
                       caracterIdade =idade.charAt(x);
                       }
               }else{
                   System.out.println("Valor igual");
                   x = x + 1;
                   caracterIdade = idade.charAt(x);
                   if (totalDeCaracteres == 0){
                       finalizar = 's';
                       //break;
                   }
               }
          }
        }
    }while(finalizar != 's');
Criado 16 de junho de 2016
Ultima resposta 21 de jun. de 2016
Respostas 7
Participantes 4