Como posso solucionar este erro em Java

0 Votos
Estou fazendo o curso de Programação Java e no exercício complementar do
modulo 4
fiz  a parte para entrada dos dados e sua visualização porem ao entrar com
o nome de um dos dados por exemplo Nome da Gravadora composta por dois nomes com
um espaço entre eles ao pressionar enter para a entrada do próximo dado não para
na instrução seguinte, indo para a instrução entrar a quantidade.
E quando
colocado o Nome da Loja desta mesma maneira a instrução de entrar a Quantidade
não ocorre dando um erro como mostrado na figura abaixo segue também uma figura
com o código escrito.
Gostaria de saber qual  o erro no código ou o motivo deste erro?
Código escrito

Respostas


  1. 0 Votos

    Nessa imagem 1, o erro esteja nessa ultima pergunta..

    “Entre com a Quantidade”, onde o valor digitado não foi um inteiro devido ao que você falou, ao por o espaço nos nomes para as perguntas anteriores, o scanner que espera pelo entrada está interpretando que pule para a proxima instrução (ou proxima pergunta).
    A documentação da classe Scanner está nesse link:
    http://download.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html 

    Diz o seguinte: 
    “Este método irá lançar InputMismatchException se o próximo token não pode ser traduzido em um duplo valor válido. “
    Ou seja, o erro se deve porque o valor que está passando não é válido. 
    Quanto a solução para nomes compostos, sugiro que revise esse teu Scanner (leitura.next(), leitura.nextInt())
    Tente trocar para Ler a linha toda, usando a função “.nextLine()”
    Espero ter ajudado, vlw.

Cadastre-se ou faça login para responder a esta pergunta.