Java 不同情况划分

Java different situation division

如何将Java中的两个数相除,在两种不同的情况下得到不同的类型:

这样的代码:

int a;
int b;
float div = a / b;

a 和 b 是整数。 (比如能拿到2我就不想拿到2.0)

尝试将 float 转换为 int 并比较结果,如果相同,则打印整数,否则,使用浮点数:

public class Main {
    public static void main(String[] args) {
        int a = 6;
        int b = 3;
        getDivisionResult(a, b);
        b = 4;
        getDivisionResult(a, b);
    }
    private static void getDivisionResult(int a, int b) {
        float div = (float) a / b;
        int rounded = (int) div;
        if(rounded == div)
            System.out.println(rounded);
        else
            System.out.println(div);
    }
}

输出:

2
1.5

如果除法是整数 - 编号,您也可以只检查模运算符。

int a = 6;
int b = 4;
if(a % b == 0) {
    System.out.print(a/b);
}
else  {
    System.out.print((float)a/b);
}

如果除法 a % b 等于 0,则除法是整数。如果不是那么它是一个分数,你可以只将一个操作数(a 或 b)转换为浮点数以获得代表分数结果的小数。

输出:

1.5