bom, sou novato no java mas tentarei esclarecer isso pra vc =]
na verdade, nenhuma das respostas te da a saida “123 82”, talvez a saida correta seria a sequencia de inteiros dentro da string (“123 45 76 82”), ai sim vc teria a C e a D como corretas…
por partes:
em primeiro lugar, utilizar o metodo useDelimiter(" ") é a mesma coisa que utilizar o default delimiter (que é o caracter espaço)
A) sc.hasNextInt() não avança o ponteiro para o proximo resultado, apenas verifica se o proximo resultado pode ser um inteiro, então a saída é apenas “123”
B) este código gera uma exceção do tipo InputMismatchException, pq após exibir o token “123”, o proximo token dentro do Scanner (a letra “A”) não pode ser um int e é tratado como um pelo método nextInt()
C e D) aqui você consegue obter a sequencia “123 45 76 82”, pois utilizando sc.next() vc consegue avançar dentro dos tokens do scanner… veja que esta sequencia não é a sequencia do enunciado, porisso a questão pode estar bugada
E e F) nestes 2 códigos vc tem um loop infinto pq o método hasNext() dentro do while apenas verifica se há um novo token, mas não avança o ponteiro
e por favor me corrijam se estiver algo errado
vlw =]
mesmo assim cara não tem como sair aquilo que voce falow cara … como nosso amigo OrGg falow a saida seria todos os inteiros que voce passou no construtor do Scanner(“123 A C, 45 X5X, 76 82 L”); dai sim a resposta seria C e D…
O livro em portugues não é TAO diferente do ingles, existem algumas diferenças mas nada que faça do livro um impecilho pro estudo, muito pelo contrário ajuda da mesma forma que o livro em ingles se estudado de forma correta
=)