检查程序是否将变量除以0的最有效方法是什么?

时间:2013-07-16 20:03:00

标签: java division zero arithmeticexception

假设x是除数,它可能是0。

程序运行:

Scanner reader = new Scanner(System.in);

int y = 5;
int x = 0;

x = reader.nextInt();

System.out.println("y divided by x is " + y/x);

我知道如果程序发现它将变量除以0,它将抛出ArithmeticException。

虽然没关系,但在进行任何分割或执行try / catch块之前,还有其他方法可以找出使用if语句检查x是否为0。

确保程序不将变量除以0的最有效方法是什么?

2 个答案:

答案 0 :(得分:1)

使用断言声明:

assert x != 0; 

但是他们不应该在生产代码中使用 注意:您需要使用-ea参数运行代码以在运行时激活它。它们默认被忽略。

您当然可以用if-else块替换它,这肯定不会影响代码的效率。实际上,您不应该在如此微小的级别上担心代码效率。

答案 1 :(得分:0)

System.out.println(“y除以x是”+(x == 0?“无穷大”:y / x));

编辑:我不知道这是否是最有效的方法,但老老实实地看待这种简单的效率是完全不合理的。