Fórum [Duvida] os codigos sao iguais, mas somente um funciona #553658

10/05/2016

0

[img]https://thumbp24-bf1.mail.yahoo.com/tn?sid=14636699424054023&mid=AMfmjkQAAHMmVy3%2BAQHQ2L%2FPW84&midoffset=2_0_0_2_23196&partid=2&f=1400&fid=Sent&ymreqid=b1221719-157a-7da3-01e8-da0024010000&m=ThumbnailService&w=3000&h=3000[/img]

Porque o codigo da esquerda funciona e o da direita nao? estou fazendo um projeto em java no eclipse e sempre que eu coloco o scanner em cima (igual ao da direita) na hora que coloco pra funcionar ele passa do try para o catch direto, e como se a leitura nao existisse.
Luis Eduardo

Luis Eduardo

Responder

Posts

22/05/2016

Miguel Junior

Bom dia, Luis Eduardo.

Não consigo visualizar a imagem que vc anexou em sua pergunta.
Responder

Gostei + 0

22/05/2016

Luis Eduardo

Bom dia, Luis Eduardo.

Não consigo visualizar a imagem que vc anexou em sua pergunta.


[img]https://uploaddeimagens.com.br/images/000/625/480/full/tn.png?1463927407[/img]
Responder

Gostei + 0

22/05/2016

Miguel Junior

Boa tarde , Luis Eduardo.

Cara, fiz um teste das duas implementações deu a impressão de loop infinito por conta do comando while além de nem conseguir digitar um número.
Responder

Gostei + 0

23/05/2016

Luis Eduardo

o que eu to na duvida e o Scanner, o codigo funciona normalmente, mas quando eu coloco o Scanner de fora do try a leitura e ignorada, sei q isso e problema de buffer do teclado, mas como sou curioso eu queria saber pq isso ocorre.
Responder

Gostei + 0

24/05/2016

Renan Di

No código da direita que apresenta o erro o Scanner foi inicializado fora de um método nem mesmo no construtor da classe ele foi inicializado, assim não dá pra garantir que ele será inicializado no momento do uso, por isso ou você usa ele dentro de algum método ou você cria um trecho de código assim:

static {
Scanner in = new Scanner(System.in);
}


dessa forma você garante que ele será inicializado junto com a instância da classe.
Você deveria colocar um e.printStackTrace no seu catch pra ver a mensagem de erro, eu imagino que você deve ter pegou ou TypeMismatch ou NullPointerException.
Responder

Gostei + 0

24/05/2016

Luis Eduardo

tendi, vlw.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar