在Java中使用“IsInfinite”和“POSITIVE_INFINITY”或“NEGATIVE_INFINITY”除以零

时间:2015-10-01 13:21:47

标签: java eclipse divide-by-zero

我是java中的一个完全noob,我必须这样做:

  

编写一个程序,要求引入被除数和除数(两个实数),并在输出中显示除法的结果。如果结果是无限的,则屏幕必须显示文本“结果是无限的”。对相应的包装类使用IsInfinite方法(或者与相应的包装类的常量POSITIVE_INFINITY和NEGATIVE_INFINITY进行比较)。

主要问题是我不知道如何使用IsInfinite方法或常量方法(其他方法有效)。我一直在网上搜索,但我找不到解决方案。

你能帮我吗?

编辑:我做了这个,但我不知道这是不是我必须做的。

import java.util.Scanner;

public class Exercise {

    public static void main(String[] args) {

        Scanner key=new Scanner(System.in);
        System.out.println("Dividend:");
        double dividend=key.nextDouble();
        System.out.println("Divisor:");
        double divisor=key.nextDouble();

        double x = dividend/divisor;
        if (x == Double.POSITIVE_INFINITY | x == Double.NEGATIVE_INFINITY) {
            System.out.println("The result is infinite");
        } else {
            System.out.println("The quotient is: " + dividend/divisor);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您提供的代码为我工作。

但是,您可能想要更改这些行:

   double x = dividend/divisor;
   if (x == Double.POSITIVE_INFINITY | x == Double.NEGATIVE_INFINITY) {

到此:

   Double x = dividend / divisor;
   if (x.isInfinite()) {

注意Double中的大写字母D.这是原始double的包装类。该类包含isInfinite方法。