Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.util.Random;
- public class Tp01E3 {
- //----------Variables para toda la clase Tp01E3----------//
- public static Scanner sc= new Scanner (System.in);
- public static int i,j;
- public static String respuesta;
- //-------------------Principal - main-------------------//
- public static void main(String[] args) {
- int [][]matrizIVxIII= new int [4][3];
- System.out.println("A es una Matriz de 4 x 3\t");
- comoCargar(matrizIVxIII);
- System.out.println("La Matriz 4 por 3 es:\t");
- mostrarMatriz(matrizIVxIII);
- System.out.println("Operar en la matriz A\t");
- do {
- operarMatriz(matrizIVxIII);
- System.out.println("¿Desea realizar otra operación dentro de la matriz?(SI/NO)");
- respuesta=sc.nextLine().toUpperCase();
- }while(respuesta.equals("SI"));
- }
- //---------------Matriz-llenar y mostrar---------------//
- public static void comoCargar(int[][] m) {/*Permite elejir si llena la matriz por usuario o automaticamente*/
- System.out.println("¿Desea generar valores en la matriz automaticamente?(SI/NO)");
- respuesta=sc.nextLine().toUpperCase();
- if (respuesta.equals("SI")){
- cargarRandom(m);
- }else {
- System.out.println("Ingrese números para la matriz:");
- cargarIndividual(m);
- }
- }
- public static void cargarRandom(int[][] m) {/*Llena la matriz con valores aleatorios*/
- Random rnd=new Random();
- for (i=0;i<4;i++) {
- for (j=0;j<3;j++) {
- m[i][j]=rnd.nextInt(100);
- }
- }
- }
- public static void cargarIndividual(int[][] m) {/*Llena la matriz por el usuario*/
- for (i=0;i<4;i++) {
- for (j=0;j<3;j++) {
- System.out.print("a ("+(i+1)+", "+(j+1)+"):");
- m[i][j]=sc.nextInt();
- }
- }
- }
- public static void mostrarMatriz(int[][] m) {
- for(int[]fila:m) {
- for(int numero:fila) {
- System.out.print(numero+"\t");
- }
- System.out.println();
- }
- }
- //---------------Matriz-operar---------------//
- public static void operarMatriz(int[][] m) {/*Permite elejir si se suma o multiplica*/
- int hilera;
- do {
- System.out.println("Ingrese 'S' para Sumar una fila o 'M' para Multiplicar una columna");
- respuesta=sc.nextLine().toUpperCase();
- if (respuesta.equals("S")) {
- hilera=validarHilera("fila a Sumar (1-2-3-4)",4);
- System.out.println("La Suma de la Fila ,"+hilera+", de la matriz A es "+sumarFila(m,hilera));
- }else {
- if (respuesta.equals("M")) {
- hilera=validarHilera("columna a Multiplicar (1-2-3)",3);
- System.out.println("El Producto de la columna ,"+hilera+", de la matriz A es "+multiplicarColumna(m,hilera));
- }else {
- System.out.println("Valor incorrecto...");
- }
- }
- }while((!"S".equals(respuesta))&&(!"M".equals(respuesta)));
- }
- public static int validarHilera(String mensaje,int limite){/*se valida la hilera(fila o columna) segun corresponda.*/
- int linea;
- do {
- System.out.println("Ingrese la "+ mensaje);
- linea=validarValor(sc.nextLine(),limite);
- }while(linea==0);
- return linea;
- }
- public static int validarValor(String entrada,int limite){//Módulo tipo exception, dedicado a reconocer un valor numérico correcto.
- int posible;
- try {
- posible=Integer.parseInt(entrada);
- } catch (NumberFormatException nfe) {
- posible=0;
- } // fin catch.
- if ((posible>0) && (posible<=limite)) {
- return posible;
- }else {
- return 0;
- }
- } // fin función validar.
- public static String sumarFila(int[][] m,int fila){
- int suma=0;
- for (i=0;i<3;i++) {
- suma=suma+m[(fila-1)][i];
- }
- return String.valueOf(suma);
- }
- public static String multiplicarColumna(int[][] m,int columna){
- long producto=1;
- for (i=0;i<4;i++) {
- producto=producto*m[i][(columna-1)];
- }
- return String.valueOf(producto);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement