Mais uma!

11 respostas
F

esse codigo compila? qual o resuldado?

public class Teste{
 public static void main(String args[]){
  double x = 10.0 / 0;
  double y = x * 0;
  System.out.println(x + " " + y);
 }
}

11 Respostas

F

Compilaria se estivesse dentro de um try … catch

Pois isso gera uma exceção de divisão por 0.

Estou certo?

F

“feliperod”:
Compilaria se estivesse dentro de um try … catch

Pois isso gera uma exceção de divisão por 0.

Estou certo?

nao eh isso… vamo ve qm acerta :slight_smile:

O

Compila e roda, mas o resultado e uma divisão por 0 resulta no valor infinity (próximo de 0) par um tipo double, a variavel x, no caso.

F

Humm, interessante…

Se fosse int ao invés de double compilaria mas não executaria, pois geraria uma exceção com eu falei acima. Não tinha atina para o fato do valor ser double.

Só na hora da prova eu não posso vacilar assim.

Valeu…

D

como o oasis disse, lembro que tem algo relacionado com infinty mas nao sei ao certo o que é!!
Se fosse multipla escolha e tivesse infinity alguma coisa, ia ser nessa por dedução…
heheheh

M

a primeira linha gera um infinito positivo (constante), e a segunda creio q seja uma exception de runtime!

B

Não acho q daria erro de runtime na segunda!
acho que y que recebe (Infinity * 0) ficaria com 0 ou então NaN!
se fosse um n diferente de Zero seria Infinity

F

“Brainn”:
Não acho q daria erro de runtime na segunda!
acho que y que recebe (Infinity * 0) ficaria com 0 ou então NaN!
se fosse um n diferente de Zero seria Infinity

eh isso ae!
o (infinity * 0) retorna NaN (Not a Number)!!!
o resultado fica:

“Infinity NaN”

B

Eu estava mais com o 0, hehehhhe
partindo do principio q qq numero * 0 é = 0,
alguem tem alguma teoria do porque que da um NaN?

D

Creio que por teoria do Calculo estudado na faculdade (finalmente achei algo para explicar o meu conhecimento adquirido) Infinity é uma grande não numérica, sem um valor… Ficou claro?
logo alguma coisa que não tem Grandeza * 0 = vai dar um valor não numérico.

Ficou claro?
Eu presumo assim, pelo fato de ser infinity

F

eu penso assim:

bem, se vc divide um numero X, por um numero Y e resulta em Z, o produto de Z * Y deveria ser igual a X, certo? mas com zero, vejam o q acontece:

10.0 / 0 = infinito
1.0 / 0 = infinito
infinito * 0 = ?

o numero teria q ser igual a todos os numeros… nesse caso, infinito * 0 nao pode ser um numero real, e como os calculos com double n geram excecoes (tanto eh q 10.0 / 0 = Infinity, e nao DivizionByZeroException como seria com int), o resultado soh poderia ser NaN (Not a Number), q eh uma constante da classe Double…

nao sei se eh bem por isso, mas acho q deve ser por ai hehehehe o principal objetivo dessa questao era lembrar q calculos com double nao geram excecoes… mas seria muito facil se eu botace soh a divisao por zero :lol: :lol: :lol:

Criado 6 de novembro de 2004
Ultima resposta 12 de nov. de 2004
Respostas 11
Participantes 6