Autor Tema: Excepciones en java  (Leído 2102 veces)

fst091

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 8
    • Ver Perfil
Excepciones en java
« en: 30 de Octubre 2016, 05:48 »
Hola compañeros, espero puedan ayudarme,  me quede atorado del punto 4 en adelante, de antemano muchas gracia, esta es la practica que tengo que hacer,:

Excepciones_Matriz:
La clase debe tener los siguientes atributos:
* 3 matices de tipo entero
*Un atributo para renglones y otro para columnas
*Un atributo para contar las excepciones generadas.

Los métodos y el constructor tendrán las siguientes especificaciones:
1. Constructor: En base a un par de variables leídas por teclado en el método main de la clase Principal, se deben inicializar los atributos para renglones y columnas, usar polimorfismo con el comando this, por ejemplo:
this.columnas = columnas;
this.renglones = renglones;
Una vez inicializado los atributos anteriores, inicializar cada una de las matrices con las dimensiones que dio el usuario.
2. Llenado_Aleatorio: Mediante un objeto de la clase Random llenar las matrices. La matriz A se llenará con números aleatorios en un rango de [0, 20] y la matriz B se llenará con números aleatorios en un rango de [0, 10]
3. Desplegar_Matrices: Se deben desplegar los valores aleatorios con los cuales fueron llenadas las matrices A y B.
4. Division_Matrices: La idea general de este método es llenar las localidades de la matriz C con la división entre cada localidad 𝑖,𝑗 ∀ 𝑖=0,1,…,𝑛−1 y
𝑗=0,1,…,𝑚−1. Se puede ver que puede haber el caso en el que la división no se pueda representar, por ejemplo supónganse que para la casilla [2][3] en la matriz A hay un 12 y en la matriz B hay un 0, claramente se puede ver que la división no se puede realizar y generaría una Excepción de tipo ArithmeticException.
Es por esto que, en este método para llenar las localidades de la matriz C, se invocará una función que se debe llamar Divide, el cual será descrito a continuación.
5. Divide: En esta función se debe implementar un bloque try – catch para poderle hacerle frente a cada una de las excepciones que se puedan presentar en la división de las localidades de la matriz, es aquí donde el atributo para contar excepciones se incrementara cuando se presente una excepción mostrando en pantalla el número de excepciones.
Dado que es una función, se debe regresar la división cuando sea permitida (dentro del bloque try) o -1 cuando se genere una excepción (bloque catch)
Cabe mencionar que la función Divide tendrá un grado de visibilidad privado.
Principal:
En esta clase se debe crear el método main y dentro crear un objeto de la clase Excepciones_Matriz. Se deben pedir al usuario las dimensiones de la matriz y después se
deben llamar a los métodos Llenado_Aleatorio, Despliega_Matrices y Divisiones_Matrices



Código: [Seleccionar]
package Parte_Final;

import java.util.Random;

public class Excepciones_Matriz {

   

    public int[][]a;
    public int[][] b ;
    public int [][]c;
    int filas;
    int columnas;
    int excepciones;

    public Excepciones_Matriz(int filas, int columnas) {
      this.filas = filas;
      this.columnas = columnas;
      a = new int [filas][columnas];
      b = new int [filas][columnas];
       
    }

    private void Llenado() {
   Random r = new Random ();

        for (int i = 0; i < filas; i++) {
            for (int j = 0; j < columnas; j++) { 
                        a[i][j] = r.nextInt(20)+ 1;
                         
            }
        }
                for (int k = 0; k < filas; k++) {
                    for (int l = 0; l <columnas; l++) { 
                       
                        b[k][l] = r.nextInt(10)+ 1;
                    }
                }

            }
       
   

    public void Desplegar() {
       
        Llenado ();
       
        System.out.println("Matriz A");
       
        for (int i = 0; i < filas; i++) {
             System.out.printf("\n");
            for (int j = 0; j < columnas; j++) {  // recorro la matriz
                System.out.print(a[i][j]+"\t");
               
           

            }
         
        }
                System.out.println("\n");
               
                System.out.println("Matriz B");

                for (int k = 0; k <filas; k++) {
                       System.out.printf("\n");
                    for (int l = 0; l < columnas; l++) {  // recorro la matriz
                        System.out.print(b[k][l]+"\t");
                       

                    }
                     
                }
               
               
            }
        }


Código: [Seleccionar]
package Parte_Final;

import java.util.Scanner;
import Parte_Final.Excepciones_Matriz;

public class Principal {
   
    public static void main(String[] args) {
       
        Scanner sc = new Scanner (System.in);
               
        System.out.println("Ingresa el valor de los renglones");
        int renglones = sc.nextInt ();
        System.out.println("Ingresa el valor de las 2columnas");
        int columnas = sc.nextInt ();
       
 Excepciones_Matriz m = new Excepciones_Matriz(renglones, columnas);
       
        m.Desplegar();
       
       
       
       
    }
   
}
« Última modificación: 30 de Octubre 2016, 05:50 por fst091 »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:Excepciones en java
« Respuesta #1 en: 03 de Noviembre 2016, 19:41 »
Hola fst091

Para realizar la división puedes usar dos bucles for anidados de modo que recorras los índices de las matrices, primero filas y luego columnas (o al revés si prefieres).

Para la gestión de excepciones puedes mirarte la explicación que hay en este curso: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=58&Itemid=180

Saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".