Как я могу сделать так, чтобы, если пользователь вводит 0, строка вывода говорит, что вы не можете делить на ноль в Java

Я пытаюсь, чтобы пользовательский ввод не был равен 0 для "а", так как это приведет к делению уравнения на ноль, что приведет к ошибке, и я смогу получить вывод о том, что нельзя делить на ноль, если Пользователь вводит 0 для "а" Вот мой код, я не уверен, что я делаю неправильно, я все еще новичок в этом, просто нужна помощь:

import java.util.Scanner;

class a3main{

    public static void main(String[] args){

    Scanner keyboard = new Scanner(System.in);

    System.out.println("Enter the value of a");
    int a = keyboard.nextInt();

    System.out.println("Enter the value of b");
    int b = keyboard.nextInt();

    System.out.println("Enter the value of c");
    int c = keyboard.nextInt();

    double R1, R2, dis;

    dis = b * b - 4 * a * c; // This is the discriminant formula

    if(dis > 0 )
    {
        System.out.println("The roots are both real numbers and unequal");
        R1 = (-b + Math.sqrt(dis))/(2*a);

        System.out.println("The first root is: " + R1);

        R2 = (-b - Math.sqrt(dis))/(2*a);

        System.out.println("The second root is: " + R2);
        }
        else if(dis == 0)
        {   
         System.out.println("The roots are both equal and are equal");
         R1 = (-b + Math.sqrt(dis))/(2*a);
         System.out.println("The root is: " + R1);
                }    
         else if (a == 0)
    {
         System.out.println("You cannot divide by 0");
    }   
             else 
             {
       System.out.println("The roots are imaginary");
                     }
    }
}

2 ответа

Решение

Вы должны поставить свой if(a == 0) проверьте перед проверкой, что посмотреть на дис.

Если вы хотите проверить квадратный корень из отрицательных чисел и проверить 0 в знаменателе, вы можете использовать try { // quadratic formula code } catch(Exception e) {} И затем обработайте ошибку соответственно.

Другие вопросы по тегам