Advertisement
Cabana_Mario_Ariel_F

TP01E3_Beta

Sep 7th, 2020
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.78 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.util.Random;
  3. public class Tp01E3 {
  4. //----------Variables para toda la clase Tp01E3----------//
  5.     public static Scanner sc= new Scanner (System.in);
  6.     public static int i,j;
  7.     public static String respuesta;
  8. //-------------------Principal - main-------------------// 
  9.     public static void main(String[] args) {
  10.        
  11.         int [][]matrizIVxIII= new int [4][3];
  12.        
  13.         System.out.println("A es una Matriz de 4 x 3\t");
  14.         comoCargar(matrizIVxIII);
  15.         System.out.println("La Matriz 4 por 3 es:\t");
  16.         mostrarMatriz(matrizIVxIII);
  17.         System.out.println("Operar en la matriz A\t");
  18.         do {
  19.             operarMatriz(matrizIVxIII);
  20.             System.out.println("¿Desea realizar otra operación dentro de la matriz?(SI/NO)");
  21.             respuesta=sc.nextLine().toUpperCase(); 
  22.         }while(respuesta.equals("SI"));
  23.     }
  24. //---------------Matriz-llenar y mostrar---------------//  
  25.     public static void comoCargar(int[][] m) {/*Permite elejir si llena la matriz por usuario o automaticamente*/
  26.         System.out.println("¿Desea generar valores en la matriz automaticamente?(SI/NO)");
  27.         respuesta=sc.nextLine().toUpperCase();
  28.         if (respuesta.equals("SI")){
  29.             cargarRandom(m);
  30.         }else {
  31.             System.out.println("Ingrese números para la matriz:");
  32.             cargarIndividual(m);
  33.         }
  34.     }
  35.     public static void cargarRandom(int[][] m) {/*Llena la matriz con valores aleatorios*/
  36.         Random rnd=new Random();
  37.         for (i=0;i<4;i++) {
  38.             for (j=0;j<3;j++) {
  39.                 m[i][j]=rnd.nextInt(100);
  40.             }
  41.         }
  42.     }
  43.     public static void cargarIndividual(int[][] m) {/*Llena la matriz por el usuario*/
  44.         for (i=0;i<4;i++) {
  45.             for (j=0;j<3;j++) {
  46.                 System.out.print("a ("+(i+1)+", "+(j+1)+"):");
  47.                 m[i][j]=sc.nextInt();
  48.             }
  49.         }
  50.     }
  51.     public static void mostrarMatriz(int[][] m) {
  52.         for(int[]fila:m) {
  53.             for(int numero:fila) {
  54.                 System.out.print(numero+"\t");
  55.             }
  56.             System.out.println();
  57.         }
  58.     }
  59. //---------------Matriz-operar---------------//
  60.     public static void operarMatriz(int[][] m) {/*Permite elejir si se suma o multiplica*/
  61.         int hilera;
  62.         do {
  63.             System.out.println("Ingrese 'S' para Sumar una fila o 'M' para Multiplicar una columna");
  64.             respuesta=sc.nextLine().toUpperCase();
  65.             if (respuesta.equals("S")) {
  66.                 hilera=validarHilera("fila a Sumar (1-2-3-4)",4);
  67.                 System.out.println("La Suma de la Fila ,"+hilera+", de la matriz A es "+sumarFila(m,hilera));
  68.             }else {
  69.                 if (respuesta.equals("M")) {
  70.                     hilera=validarHilera("columna a Multiplicar (1-2-3)",3);
  71.                     System.out.println("El Producto de la columna ,"+hilera+", de la matriz A es "+multiplicarColumna(m,hilera));
  72.                 }else {
  73.                     System.out.println("Valor incorrecto...");
  74.                 }
  75.             }
  76.         }while((!"S".equals(respuesta))&&(!"M".equals(respuesta)));
  77.        
  78.     }
  79.     public static int validarHilera(String mensaje,int limite){/*se valida la hilera(fila o columna) segun corresponda.*/
  80.         int linea;
  81.         do {
  82.             System.out.println("Ingrese la "+ mensaje);
  83.             linea=validarValor(sc.nextLine(),limite);
  84.         }while(linea==0);
  85.         return linea;
  86.     }
  87.     public static int validarValor(String entrada,int limite){//Módulo tipo exception, dedicado a reconocer un valor numérico correcto.
  88.         int posible;
  89.         try {
  90.              posible=Integer.parseInt(entrada);
  91.         } catch (NumberFormatException nfe) {
  92.             posible=0;
  93.         } // fin catch.
  94.         if ((posible>0) && (posible<=limite)) {
  95.             return posible;
  96.         }else {
  97.             return 0;
  98.         }
  99.        
  100.     } // fin función validar.
  101.     public static String sumarFila(int[][] m,int fila){
  102.         int suma=0;
  103.         for (i=0;i<3;i++) {
  104.             suma=suma+m[(fila-1)][i];
  105.         }
  106.         return String.valueOf(suma);
  107.     }
  108.     public static String multiplicarColumna(int[][] m,int columna){
  109.         long producto=1;
  110.         for (i=0;i<4;i++) {
  111.             producto=producto*m[i][(columna-1)];
  112.         }
  113.         return String.valueOf(producto);
  114.     }
  115. }
  116.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement