Java 爪哇不同情况司
如何在Java中划分两个数字,并在两种不同的情况下获得不同的类型:Java 爪哇不同情况司,java,integer,division,Java,Integer,Division,如何在Java中划分两个数字,并在两种不同的情况下获得不同的类型: 如果可能,获取int(例如6/2) 否则,获取浮动(6/4) 代码如下: int a; int b; float div = a / b; a和b是整数。(例如,如果可能得到2,我不想得到2.0)尝试将浮点值转换为int并比较结果,如果结果相同,则打印整数,否则,使用浮点值: public class Main { public static void main(String[] args) { i
- 如果可能,获取int(例如6/2)
- 否则,获取浮动(6/4)
int a;
int b;
float div = a / b;
a和b是整数。(例如,如果可能得到2,我不想得到2.0)尝试将
浮点值
转换为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
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)强制转换为浮点,以获得表示分数结果的十进制数
输出:
2
1.5
1.5
如果您事先不知道除法是否“可能”,则始终需要一个浮点。如果您确实知道,那么在您之前展示的两种方式中进行选择(尽管您可能需要修复浮点版本…)。如果这不是您需要的答案,那么您需要澄清您的问题。请对可能需要浮点结果(目前使用浮点方法)但可能不需要并且可以从使用int方法中受益的代码进行分析。我无法想象和认为这可能是不可能的。这里描述的问题很容易造成这种情况