Tokenização com Scanner  XML
Índice dos Fóruns » Certificação Java
Autor Mensagem
anderson.bonavides
GUJ Master
[Avatar]

Membro desde: 30/07/2007 22:43:05
Mensagens: 1151
Offline

1. import java.util.*;
2. class Brain{
3. public static void main(String[] args){
4.
5. //INSIRA O BLOCO DE CÓDIGO AKI....
6.
4. }
5. }

Qual opção inserida independentemente na linha 5 compila e produz a saída "123 82"?(MARQUE TODAS CORRETAS)

OPÇÕES:
A) Scanner sc = new Scanner("123 A C, 45 X5X, 76 82 L");
while(sc.hasNextInt()) System.out.print(sc.nextInt() + " ");

B) Scanner sc = new Scanner("123 A C, 45 X5X, 76 82 L").useDelimiter(" ");
while(sc.hasNext()) System.out.print(sc.nextInt() + " ");

C) Scanner sc = new Scanner("123 A C, 45 X5X, 76 82 L");
while(sc.hasNext()){
if(sc.hasNextInt()) System.out.print(sc.nextInt() + " ");
else sc.next(); }

D) Scanner sc = new Scanner("123 A C, 45 X5X, 76 82 L").seDelimiter(" ");
while(sc.hasNext()){
if(sc.hasNextInt()) System.out.print(sc.nextInt() + " ");
else sc.next(); }

E) Scanner sc = new Scanner("123 A C, 45 X5X, 76 82 L");
do{
if(sc.hasNextInt()) System.out.print(sc.nextInt() + " ");
}while (sc.hasNext() );

F) Scanner sc = new Scanner("123 A C, 45 X5X, 76 82 L").seDelimiter(" ");
do{
if(sc.hasNextInt()) System.out.print(sc.nextInt() + " ");
}while (sc.hasNext() );

RESPOSTA: C e D.

Alguem poderia dar uma força nessa resposta, ja revisei o assunto mas não compreendi muito bem...

vlw t+

Sun Certified Java Programmer 5.0
OrGg
What is classpath?

Membro desde: 19/06/2007 15:21:55
Mensagens: 6
Offline

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 =]
Java Player
JavaTeenager
[Avatar]

Membro desde: 17/08/2006 17:11:57
Mensagens: 180
Offline

Esta questão é do livro da Kathy Sierra em português??

Engraçado, tem uma questão praticamente igual a essa no livro em inglês. Só que a String é "123 A 3b c,45, x5x,76 82 L".

A resposta está como C e D também.

Talvez seja um erro no livro traduzido.

SCPJ 6 - 93%

Quizzes .com.br
Jogos para Celular .com.br
Jogos para Android .com.br
Android Gameplay .com
icarocd
JavaBaby
[Avatar]

Membro desde: 12/04/2006 21:46:54
Mensagens: 92
Offline

arrumei o livro em portugues mas ja to me arrependendo com tantos erros grosseiros e distorcoes da versao em portugues

Engenheiro de Computação com ênfase em Engenharia de Software pela UEFS/BA
SCJP & SCWCD certified
Desenvolvedor com ênfase Java/JEE/JSE/Grails
[Email] [WWW] [MSN]
anderson.bonavides
GUJ Master
[Avatar]

Membro desde: 30/07/2007 22:43:05
Mensagens: 1151
Offline

Desculpem não ter postado antes é que tava sem net e parece q vou ficar denovo... #) a resposta é C e F...


=]

O livro em português as vezes não é muito claro é preciso reler algumas vezes para poder compreender a tradução.

Sun Certified Java Programmer 5.0
Raff
Virtual Machine Man
[Avatar]

Membro desde: 31/07/2006 10:31:45
Mensagens: 642
Localização: Marilia - SP / São Carlos -SP
Offline

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....


SCJP 5.0
SCWCD 5.0
Mestrando UFSCAR...
[Email] [MSN]
anderson.bonavides
GUJ Master
[Avatar]

Membro desde: 30/07/2007 22:43:05
Mensagens: 1151
Offline

Vou rever a questão.

Sun Certified Java Programmer 5.0
Omeganosferatu
JavaEvangelist
[Avatar]

Membro desde: 05/01/2007 10:13:24
Mensagens: 328
Localização: São Paulo
Offline

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
=)

Sun Certified Java Programmer
Sun Certified Java Developer

The death of one is a tragedy, but death of a million is just a statistic ( Joseph Stalin )
[ICQ]
 
Índice dos Fóruns » Certificação Java
Ir para:   
Powered by JForum 2.1.8 © JForum Team