Programinha simples?

2 respostas
J

Saudações.

Estou tentando fazer o seguinte programinha.

import java.util.*;

public class ParaSeQuiser {

public static void main(String[] args) {

	Scanner entrada = new Scanner(System.in);

	char resposta = 'n';

	while(resposta != 's') {
		System.out.println("Deseja parar ? (s/n)");
		resposta = (char) entrada.next();
	}

}

}

Isso naum funciona, da o seguinte erro:
:inconvertible types

Alguma sugestao, de como fazer esse simples programinha ?. Lembrando que ja usei BufferedReader com System.in.read(), mas esse repete 3 vezes o while quando escolho ‘n’.

2 Respostas

_Renatu

Olá

Seu erro está dizendo que você está tentando converter tipos que não são conversíveis.

E realmente não são. Olhando a API do Scanner:

http://java.sun.com/j2se/1.5.0/docs/api/java/util/Scanner.html

Você vê que o método next() retorna uma String, e não um char.

Uma possível solução do seu programa seria:

import java.util.*;

public class ParaSeQuiser {

public static void main(String[] args) {

Scanner entrada = new Scanner(System.in);

String resposta = "n";

while(!resposta.equals("s") {
System.out.println("Deseja parar ? (s/n)");
resposta = entrada.next();
}

}

}
Flasoft

Ve se isto te satisfaz...

Scanner entrada = new Scanner(System.in); 

		char resposta = 'n'; 

		while(resposta != 's') { 
			System.out.println("Deseja parar ? (s/n)"); 
			resposta = entrada.next().charAt(0); 
		}
Criado 18 de maio de 2007
Ultima resposta 18 de mai. de 2007
Respostas 2
Participantes 3