2015-10-01 3 views
-4

что я полностью нуб в Java, и я должен сделать это:Деление на ноль в Java с «IsInfinite» и «POSITIVE_INFINITY» или «NEGATIVE_INFINITY»

Написать программу, которая запрашивает для введения дивиденд и делитель (оба действительных числа) и показывают результат деления на выходе. Если результат бесконечен, на экране должен отображаться текст «Результат бесконечен». Используйте метод IsInfinite для соответствующего класса оболочки (или сравнение с константами POSITIVE_INFINITY и NEGATIVE_INFINITY для соответствующего класса оболочки).

Основная проблема заключается в том, что я не знаю, как использовать метод IsInfinite или метод констант (другие методы работали). Я искал в Интернете, но я не нашел решения.

Вы можете мне помочь?

EDIT: Я сделал это, но я не знаю, действительно ли это, что я должен делать.

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); 
     } 
    } 
} 
+0

Проверить класс Double – Eran

+0

Опубликовать, что вы пробовали? –

+0

Отредактировано с того, что я пробовал – Shagour

ответ

0

Код, который вы предоставили, работал для меня.

Однако, вы можете изменить эти строки:

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

к этому:

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

Обратите внимание на капитал D в Double. Это класс-оболочка примитива double. Этот класс содержит метод isInfinite.