gpt4 book ai didi

java - 为什么Java中的除法只显示0?

转载 作者:行者123 更新时间:2023-12-02 08:43:16 25 4
gpt4 key购买 nike

我在Java程序中有以下方法:

public void Div(int a, int b){
//exception in order to check if the second argument is 0
try{
int div1 = (a / b);
double div = div1;
System.out.println("The division of the two numbers is: " + div);
}
catch(ArithmeticException e){
System.out.println("You can't divide a number by 0");
}

这仅在分子大于分母时才有效(例如 8/2)。如果分子小于分母,我得到的结果是 0.0(例如 2/8)。

我该怎么做才能让它发挥作用?

最佳答案

这是由于整数除法而发生的。您可以将其中一个参数强制转换为 double 并将结果存储到 double 变量中以解决该问题。

public class Main {
public static void main(String[] args) {
div(5, 10);
}

public static void div(int a, int b) {
try {
double div = (double) a / b;
System.out.println("The division of the two numbers is: " + div);
} catch (ArithmeticException e) {
System.out.println("You can't divide a number by 0");
}
}
}

输出:

The division of the two numbers is: 0.5

顺便说一句,您应该遵循 Java naming conventions例如根据 Java 命名约定,方法名称 Div 应为 div

关于java - 为什么Java中的除法只显示0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61244608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com