Java如何处理整数下溢和溢出?
在此之后,您将如何检查/测试这是否正在发生?
我试图计算由阶乘产生的数字的尾随零(意味着数字变得非常大).下面的代码取一个数字,计算数字的阶乘,并计算尾随零.但是,当数量大约为25!时,numZeros不起作用.
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
double fact;
int answer;
try {
int number = Integer.parseInt(br.readLine());
fact = factorial(number);
answer = numZeros(fact);
}
catch (NumberFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static double factorial (int num) {
double total = 1;
for (int i = 1; i <= num; i++) {
total *= i;
}
return total;
}
public static int numZeros (double num) {
int count …Run Code Online (Sandbox Code Playgroud)