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
30/07/2007 15:28:48
Assunto:
jaireltonPJ
GUJ Expert
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.