Recuperação de erro em divisão

8 respostas
M

Sou aprendiz. Escrevi:
import java.util.Scanner;

public class Media {

public static void main(String[] args) {

Scanner lenumero = new Scanner(System.in);

System.out.println("Digite as quatro notas bimestrais!");
	double nota1 = lenumero.nextDouble();
	double nota2 = lenumero.nextDouble();
	double nota3 = lenumero.nextDouble();
	double nota4 = lenumero.nextDouble();
	double media = (((nota1 + nota2 + nota3 + nota4)/4));
	
	System.out.println("A média das notas é: " + media);
a resposta é sempre:

Digite as quatro notas bimestrais!

7.0 6.0 8.0 9.0

Exception in thread main java.util.InputMismatchException

at java.util.Scanner.throwFor(Scanner.java:909)

at java.util.Scanner.next(Scanner.java:1530)

at java.util.Scanner.nextDouble(Scanner.java:2456)

at Lista11a13.Media.main(Media.java:11)

tentei com inteiros e com casas decimais! onde estou errando?

8 Respostas

M

antes que alguém pergunte, eu fechei corretamente as duas chaves.

Christian_Sticchi

@Maria_Helena_Barros, me parece que você tentou digitar as quatro notas de uma só vez. Tente digitar uma e pressione Enter, depois as segunda e Enter… Até digitar todas. O Scanner esperava encontrar um double em seu buffer, porém, quando você entrou as notas com espaços separando-as, ele não pode reconhecer.

M

Nada feito, deu o mesmo erro. Usando int, o java só oferece o valor inteiro…

M

muito bem, consegui.
Troquei o tipo da variável para float e inseri notas com vírgula e duas casas decimais. Deu certo, mas não sei o porquê!

ViniciusAnalista

compilei seu código aqui e esta funcionando perfeitamente. Veja o resultado:
Digite as quatro notas bimestrais!
7.0
6.0
8.0
9.0
A média das notas é: 7.5

Acho que o problema esta na forma que vc esta executando. Qual a IDE que vc esta usando ? Eclipse ou Netbeans?

pmlm

Para ler dados de entrada por teclado com Scanner usa somente o método nextLine e converte depois a String para o tipo numerico (int, double ou float). Vais evitar esses problemas.

M

Obrigada. Eclipse.

M

ok, obrigada.

Criado 27 de janeiro de 2016
Ultima resposta 28 de jan. de 2016
Respostas 8
Participantes 4