问题描述
如何在Java中将两个数字相除并在两种不同情况下获得不同的类型:
这样的代码:
int a;
int b;
float div = a / b;
a和b是整数。 (例如,如果可能得到2,我不想得到2.0)
解决方法
您也可以只用模运算符检查除数是否为整数-编号。
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
,
尝试将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