Exercicio Java

6 respostas
I

Ola amigos, será que vcs poderiam me ajudar a resolver a seguinte questão?

Obrigada!!

Dado o código abaixo, indique nas alternativas onde deve ser feito cast ou uma conversão.

private double d = 5.0;
private float f = 3.0F;
private int i = 9; 

public String testaCastString(int vi){
String s = Integer.toString(vi);
return s;
}

public double testaCastDouble(float vf){
return vf;
}

public int testaCastInt(int vi){
return (int) (vi*Math.PI);
}
a) f = d + i;

b) d = f + i;

c) i = d + f;

d) f = testaCastDouble(f);

e) i = testaCastInt(d);

f) String s = testaCastString(d);

g) d = testaCastString(i);

6 Respostas

B

Todas menos b.

I

Po valeu mesmo, mas sabe me dizer porque todas menos a B??

fantomas

Eu acho que são as alternativas a e c, porque na opção (a) o float tem a precisão insuficiente para o possível resultado da operação (double + int) e na opção © o int também tem a precisão insuficiente para os possíveis resultados (double + float).

flws

A

Acho que a resposta é todas menos b mesmo. Seguem as correções dos outros itens:

a) f = (float) d + i;

b) d = f + i; //Correto

c) i = (int)(d + f);

d) f = (float) testaCastDouble(f);

e) i = testaCastInt((int)d);

f) String s = testaCastString((int)d);

g) d = Double.parseDouble(testaCastString(i));

Att,
Aline

A

Obs.: Tenho certeza que a resposta são todas menos a b.

A

Como os tipos primitivos int (4 bytes na memória) e float (4 bytes na memória) tem precisão menor que o double (8 bytes na memória), eu posso atribuir uma soma de uma variável int com uma variável float a uma variável do tipo double. Por isso, o item b não necessita de cast.

Criado 30 de outubro de 2008
Ultima resposta 30 de out. de 2008
Respostas 6
Participantes 4