Excepciones definidas por el usuario usando constructores en Java

En Java, ya hemos definido clases de excepción como ArithmeticException, NullPointerException, etc. Estas excepciones ya están configuradas para activarse en condiciones predefinidas, como cuando divide un número por cero, activa ArithmeticException.

En Java, podemos crear nuestra propia clase de excepción y lanzar esa excepción usando la palabra clave throw. Estas excepciones se conocen como excepciones personalizadas o definidas por el usuario .

Declaración del problema: Realice una array de clase Java para representar arrays bidimensionales de números reales. La clase debe exportar los siguientes métodos:  

  • Matrix(int ​​n, int m): Constructor que crea una array de tamaño nxm, con todos los valores inicialmente establecidos en 0; 
  • Producto de array(Array m): Devuelve la array que es producto del objeto y de m, si las dos arrays tienen dimensiones compatibles, y nula en caso contrario; ExcepciónWrongMatrixDimension que se lanza en el método check() si la dimensión de la array es incorrecta para la multiplicación de la array.

Ejemplo:

Java

// Java program to create user defined
// exceptions
  
import java.util.Scanner;
  
// User defined exception class to store the exception
// message
class ExceptionWrongMatrixDimension extends Exception {
  
    public ExceptionWrongMatrixDimension(String str)
    {
        // stores the exception message to be displayed
        super(str);
    }
}
  
class twoDimensionalMatrix {
  
    void Matrix(int n, int m)
        throws ExceptionWrongMatrixDimension
    {
        // initialize matrix to be processed
        int[][] matrix = { { 1, 2 },
                           {
                               4,
                               5,
                           } };
  
        System.out.println("\nMatrix is :");
  
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                System.out.print(matrix[i][j] + " ");
            }
            System.out.println();
        }
  
        int rows = 2;
        int cols = 2;
  
        if (n != rows) {
  
            // throw keyword for an exception in a method
            throw new ExceptionWrongMatrixDimension(
                "Invalid matrix dimensions to multiply");
        }
        else {
            int[][] m_matrix = { { 6, 3 },
                                 {
                                     9,
                                     2,
                                 } };
  
            System.out.println("\nMatrix to multiply is :");
  
            for (int i = 0; i < rows; i++) {
                for (int j = 0; j < cols; j++) {
  
                    System.out.print(m_matrix[i][j] + " ");
                }
                System.out.println();
            }
  
            System.out.println("\nMatrix to multiply is :");
  
            for (int i = 0; i < rows; i++) {
                for (int j = 0; j < cols; j++) {
                    System.out.print(m_matrix[i][j] + " ");
                }
                System.out.println();
            }
  
            int c[][] = new int[m][n];
  
            for (int i = 0; i < rows; i++) {
                for (int j = 0; j < rows; j++) {
                    c[i][j] = 0;
                    for (int k = 0; k < rows; k++) {
                        c[i][j] += matrix[i][j]
                                   * m_matrix[k][j];
                    }
                }
            }
  
            System.out.println(
                "\n\nMatrix after multiplication is");
  
            for (int i = 0; i < rows; i++) {
                for (int j = 0; j < cols; j++) {
  
                    // prints the third matrix containing
                    // the multiplied values
                    System.out.print(c[i][j] + " ");
                }
                System.out.println();
            }
        }
    }
}
  
public class Main {
    public static void main(String args[])
    {
        twoDimensionalMatrix matrix
            = new twoDimensionalMatrix();
  
        try {
  
            // block of code to be tested for errors while
            // it is being executed.
            System.out.println("Enter the number of rows");
  
            int n = 2;
  
            System.out.println(
                "Enter the number of columns");
            int m = 2;
            matrix.Matrix(n, m);
        }
  
        catch (ExceptionWrongMatrixDimension e) {
  
            // block of code to be executed, if an error
            // occurs in the try block.
            System.out.println(
                "ExceptionWrongMatrixDimension:");
  
            // returns a method object. The name parameter
            // is passed as a string.
            System.out.println(e.getMessage());
        }
    }
}
Producción

Enter the number of rows
Enter the number of columns

Matrix is :
1 2 
4 5 

Matrix to multiply is :
6 3 
9 2 

Matrix to multiply is :
6 3 
9 2 


Matrix after multiplication is
15 10 
60 25 

Publicación traducida automáticamente

Artículo escrito por snehaveerakumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *