Gostaria de saber por que o código abaixo imprime 8.0 e não 6.0 .
Quando eu chamo t.multi(2.5,2) estou passando um float ou um double e um inteiro, pensava que ele iria executar o primeiro método, mas ele executa o terceiro. Ainda não entendi o porque.
public class Teste {
public float multi(float f, int n){
return f + n *1;
}
public int multi(int dbl, double n){
return dbl * (int) n +2;
}
public double multi(double i, double n){
return i*n +3 ;
}
public static void main(String[] args){
Teste t =new Teste();
System.out.println(t.multi(2.5, 2));
Pergunta
fernandofagunde
Gostaria de saber por que o código abaixo imprime 8.0 e não 6.0 .
Quando eu chamo t.multi(2.5,2) estou passando um float ou um double e um inteiro, pensava que ele iria executar o primeiro método, mas ele executa o terceiro. Ainda não entendi o porque.
public class Teste {
public float multi(float f, int n){
return f + n *1;
}
public int multi(int dbl, double n){
return dbl * (int) n +2;
}
public double multi(double i, double n){
return i*n +3 ;
}
public static void main(String[] args){
Teste t =new Teste();
System.out.println(t.multi(2.5, 2));
}
}
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.