Dúvida sobre questão ... Assertions  XML
Índice dos Fóruns » Certificação Java
Autor Mensagem
DeyvidDuckPJ
Debugger
[Avatar]

Membro desde: 18/05/2005 00:00:00
Mensagens: 54
Offline

No livro Certificação Java 5 Guia Preparatório, na página 89, na questão 6 temos:



Quando compilo e executo o código, na tela aparece:

Even Number:0
Even Number:1
Even Number:2
Even Number:3
Even Number:4
Even Number:5
Even Number:6
Even Number:7
Even Number:8
Even Number:9


Porém no código tá claro que a assert i%2 será true somente para números pares e false para números ímpares. A questão é: Se o assert será true somente no momento em que i for um número par e no momento em que i é ímpar, logo será executado a expressão --i e a AssertionError vai ser ativada. Então por que não imprime Odd Number: <número> no momemnto em que a exceção acontece?

Desde Já agradeço

Um forte abraço

Deyvid Rannyere Moraes Costa
[WWW] [ICQ]
jaireltonPJ
GUJ Expert
[Avatar]

Membro desde: 06/06/2005 00:00:00
Mensagens: 3276
Offline

Por padrão as assertions são desativadas na JVM, para ativa-las use o parametro -enableassertions ou -ea

Comando:

java AssertTest

Resultado:

Even Number:0
Even Number:1
Even Number:2
Even Number:3
Even Number:4
Even Number:5
Even Number:6
Even Number:7
Even Number:8
Even Number:9

Comando:

java -ea AssertTest

Resultado:

Even Number: 0
Odd Number: 1
Even Number: 2
Odd Number: 3
Even Number: 4
Odd Number: 5
Even Number: 6
Odd Number: 7
Even Number: 8
Odd Number: 9


Por isso, em uma prova de certificação, é importante verificar qual comando está sendo usado para executar a classe.

http://jairelton.com.br
[WWW] aim icon [ICQ]
DeyvidDuckPJ
Debugger
[Avatar]

Membro desde: 18/05/2005 00:00:00
Mensagens: 54
Offline

CARACA, ISSO TAVA NO NARIZ!.

Valeu borther
[WWW] [ICQ]
 
Índice dos Fóruns » Certificação Java
Ir para:   
Powered by JForum 2.1.8 © JForum Team