Ajuda, de novo

6 respostas
ajob

Bem galera tou com um pequeno probleminha
eu criei um aplicativo que em um dado momento ele pergunta assim

Você deseja continuar?(s/n)

criei uma vaiável do tipo char e coloquei ela para receber a resposta da pessoa, ta certo que se a pessoa digitar mais de uma letra daria erro, mas quando eu digito “s” e dou enter ele da erro…

char resp;
Scanner ent = new Scanner(System.in);
while(resp == "s"){
     System.out.println("Você deseja continuar?(s/n)");
     resp = ent.nextLine();
  }

e ai… da uma ajudinha… :wink:

6 Respostas

eros.stein

Você não inicializou a variável então ele não entra no while. Sua condição de entrada é resp ser igual a s, mas resp é nulo.

eros.stein

Outro problema…
Você está comparando char(resp) com String(“s”) e enviando uma String (ent.nextLine()) para um char (resp).

eros.stein

Seu código rodando…

char resp = 's'; Scanner ent = new Scanner(System.in); while(resp == 's'){ System.out.println("Você deseja continuar?(s/n)"); resp = ent.nextLine().charAt(0); }

ajob

vlw eros.stein, mas eu ainda não havia aprendido a chamada nextLine().charAt(0)…

o que em se ela faz??? retorna um char? apenas isso? e o 0?

eros.stein

O método nextLine() retorna uma String, o método charAt(int pos) retorna o char na posição pos da String em que ele é chamado. Por exemplo, em

char t = "Teste".charAt(2)

t receberia ‘s’, entendeu?

ajob

owww rapaz… literalmente uma mão ná roda…caravlw mesmo… duvida bem sanada mesmo… um abração e t+

Criado 19 de julho de 2008
Ultima resposta 19 de jul. de 2008
Respostas 6
Participantes 2