galera, alguem sabe como fazer para que o resultado do metodo aqui em baixo seja de tipo int(divisao inteira de a por b) mesmo se o tipo de retorno do metodo é double(divisao real) ?
public double divisao (int a, int b)
{
}
Muito obrigado.
galera, alguem sabe como fazer para que o resultado do metodo aqui em baixo seja de tipo int(divisao inteira de a por b) mesmo se o tipo de retorno do metodo é double(divisao real) ?
public double divisao (int a, int b)
{
}
Muito obrigado.
galera, alguem sabe como fazer para que o resultado do metodo aqui em baixo seja de tipo int(divisao inteira de a por b) mesmo se o tipo de retorno do metodo é double(divisao real) ?
public double divisao (int a, int b) { }Muito obrigado.
Pq vc não coloca o tipo de retorno como long, que têm o mesmo “tamanho” de double (64 bits…) OU use wrappers:
public class DoubleInt {
public Double divisao (int a, int b)
{
return new Double((a/b));
}
public static void main(String[] args) {
System.out.println(new DoubleInt().divisao(4, 2).intValue());
}
}
public double divisao (int a, int b)
{
return a / b;
}
com return a/b o resultado de por exemplo 25/2 é 12.0. Como fazer para que o resultado seja só 12?
Basta fazer um cast no lugar certo:
import java.util.regex.Pattern;
public class Teste {
public static double divisaoInteira (int a, int b){ return a / b; }
public static double divisaoDouble (int a, int b){ return (double) a / b; }
public static void main(String[] args) {
System.out.println(divisaoInteira(1,2)); // imprime 0.0
System.out.println(divisaoDouble(1,2)); // imprimt 0.5
}
}
Divisão de inteiro por inteiro é um inteiro. Mas... o cast ta ai pra isso :)
com return a/b o resultado de por exemplo 25/2 é 12.0. Como fazer para que o resultado seja só 12?
Ué, pq não retornar um inteiro nesse caso ?
A resposta seria: formate o resultado (printf por exemplo) mas vc parece ter um problema conceitual ai.
Para o resultado ser igual a 12 retorne um int…
Com retorno double eu axo que não dá.
Ou tú muda o retorno para int, Integer, BigDecimal…
Ou quem chamar esse método faz um
new Double(double).intValue()
retorne um inteiro!!
public static void main(String[] args) {
System.out.println(Divide(25,2));
}
static int Divide(int a, int b){
return (int) a / b;
}
Esse int no return, não é necessário, pois a compactação é feita implicitamente, seguindo o seu tipo de retorno.
:thumbup: