Advertisement
JuanFelipeArango28

pregunta2 ipoo 1

Feb 3rd, 2021
307
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.31 KB | None | 0 0
  1. /* Autores : Miguel Angel Rivera - 2059876 - 3743
  2.              Juan Felipe Arango - 2060066 - 3743
  3. */
  4. package tallerevaluable1;
  5.  
  6. import javax.swing.JOptionPane;
  7. import java.util.*;
  8.  
  9.  
  10. public class pregunta2 {
  11.  
  12.     char NxM[][];
  13.     //Stack <Integer> orden = new Stack <Integer>();
  14.    
  15.     char arregloMinus[] =  {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','ñ','o','p','q','r','s','t','u','v','w','x','y','z', ' '};
  16.     char arregloMayus[] =  {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','Ñ','O','P','Q','R','S','T','U','V','W','X','Y','Z', ' '};
  17.  
  18.    
  19.    
  20.     public void menuFilasColumnas(){
  21.        
  22.         int opc;
  23.        
  24.         do{
  25.             String entrada = JOptionPane.showInputDialog("Elija la distribucion de filas y columnas (su multiplicacion simpre sera 28) \n\n"+
  26.                                                         "1. 28 filas x 1 columna\n"+
  27.                                                         "2. 1 fila x 28 columnas\n"+
  28.                                                         "3. 14 filas x 2 columnas\n"+
  29.                                                         "4. 2 filas x 14 columnas\n"+
  30.                                                         "5. 7 filas x 4 columnas\n"+
  31.                                                         "6. 4 filas x 7 columnas\n");
  32.             opc = Integer.parseInt(entrada);
  33.            
  34.             switch(opc){
  35.                 case 1: NxM = new char[28][1]; opc = 0; break;
  36.                 case 2: NxM = new char[1][28]; opc = 0; break;
  37.                 case 3: NxM = new char[14][2]; opc = 0; break;
  38.                 case 4: NxM = new char[2][14]; opc = 0; break;
  39.                 case 5: NxM = new char[7][4]; opc = 0; break;
  40.                 case 6: NxM = new char[4][7]; opc = 0; break;
  41.                 default: JOptionPane.showMessageDialog(null, "La opcion elegida no es valida");
  42.             }
  43.                    
  44.         }while(opc != 0);
  45.        
  46.     }
  47.    
  48.    
  49.     public void menuMinusMayus(){
  50.    
  51.         int opc;
  52.        
  53.         do{
  54.             String entrada = JOptionPane.showInputDialog("Elegir si se desea llenar en minusculas o mayusculas \n\n"+
  55.                                                         "1. Llenar con minusculas \n"+
  56.                                                         "2. Llenar con mayusculas\n");
  57.             opc = Integer.parseInt(entrada);
  58.            
  59.             switch(opc){
  60.                 case 1: minus(); opc = 0; break;
  61.                 case 2: ; mayus(); opc = 0; break;
  62.                 default: JOptionPane.showMessageDialog(null,"Opcion no valida", "ERROR", 0);
  63.             }
  64.         }while(opc != 0);
  65.        
  66.     }
  67.    
  68.    
  69.    public void minus(){
  70.        int pos;
  71.        int nNums = 28;
  72.        Stack < Integer > orden = new Stack < Integer > ();
  73.        
  74.        for (int i = 0; i < nNums ; i++) {
  75.            pos = (int) (Math.random() * nNums );
  76.            while (orden.contains(pos)) {
  77.                pos = (int) (Math.random() * nNums );
  78.            }
  79.            orden.push(pos);
  80.        }
  81.        
  82.        for (int f = 0; f < NxM.length; f++) {
  83.            for (int c = 0; c < NxM[0].length; c++) {
  84.                NxM[f][c] = arregloMinus[orden.pop()];
  85.            }
  86.            
  87.        }
  88.    }
  89.    
  90.    public void mayus(){
  91.        int pos;
  92.        int nNums = 28;
  93.        Stack < Integer > orden = new Stack < Integer > ();
  94.        
  95.        for (int i = 0; i < nNums ; i++) {
  96.            pos = (int) (Math.random() * nNums );
  97.            while (orden.contains(pos)) {
  98.                pos = (int) (Math.random() * nNums );
  99.            }
  100.            orden.push(pos);
  101.        }
  102.        
  103.        for (int f = 0; f < NxM.length; f++) {
  104.            for (int c = 0; c < NxM[0].length; c++) {
  105.                NxM[f][c] = arregloMayus[orden.pop()];
  106.            }
  107.            
  108.        }
  109.    }
  110.    
  111.    public void menuPrincipal(){
  112.        int opc;
  113.        do{
  114.        String entrada = JOptionPane.showInputDialog("       MENU PRINCIPAL      \n\n"+
  115.                                                     "1. Elegir el tamaño de la matriz NxM\n"+
  116.                                                     "0. salir");
  117.        opc = Integer.parseInt(entrada);
  118.        
  119.        switch(opc){
  120.            case 1: menuFilasColumnas(); menuMinusMayus(); imprimir(); break;
  121.            case 0: break;
  122.            default: JOptionPane.showMessageDialog(null, "Opcion invalida", "ERROR", 0);
  123.        
  124.        }
  125.        
  126.        }while(opc != 0);
  127.    }
  128.    
  129.    
  130.    public void imprimir(){
  131.        String salida = "";
  132.        
  133.        for (int f = 0; f < NxM.length; f++) {
  134.            for (int c = 0; c < NxM[0].length; c++) {
  135.                salida += NxM[f][c] + "  ";
  136.                
  137.            }
  138.            salida += "\n";
  139.        }
  140.        JOptionPane.showMessageDialog(null,"La matriz es: \n"+ salida);
  141.    }
  142.    
  143.    //Esto es una opcion de prueba
  144.    public void imprimirConsola(){
  145.        String salida = "";
  146.        
  147.        for (int f = 0; f < NxM.length; f++) {
  148.            for (int c = 0; c < NxM[0].length; c++) {
  149.                salida += NxM[f][c] + " ";
  150.                
  151.            }
  152.            salida += "\n";
  153.        }
  154.        System.out.print(salida);
  155.    }
  156.  
  157.          
  158.          
  159.     public static void main(String[] args) {
  160.     pregunta2 obj = new pregunta2();
  161.     obj.menuPrincipal();
  162.     }
  163. }
  164.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement