Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.67 KB | None | 0 0
  1. package rifa;
  2.  
  3. import util.ES;
  4.  
  5. /**
  6.  *
  7.  * @author david Galvan galvez
  8.  */
  9. public class Rifa {
  10.    
  11.     /**
  12.     * Este método sirve para rellenar un array con los nombres de los premios que
  13.     * nos va pidiendo por teclado.
  14.     *
  15.     * @param num tamaño del array
  16.     * @return el array creado con los nombres de los premios
  17.     */
  18.     public static String[] rellenaPremios(int num){
  19.         String premios[]=new String[num];
  20.         for(int i=0;i<num;i++){
  21.             premios[i]=ES.leeCadena("Introduce el nombre del premio número " + i);
  22.         }
  23.        
  24.         return premios;
  25.     }
  26.    
  27.     /**
  28.      * Este método imprime el vector de cadenas unidimensinal pasado por parametros
  29.      *
  30.      * @param vec es el vector a imprimir.
  31.      */
  32.     public static void imprimirVector(String vec[]){
  33.         for(int i=0;i<vec.length;i++){
  34.             ES.msgln(vec[i]);
  35.         }
  36.     }
  37.    
  38.     /**
  39.      * Este método imprime el vector de cadenas multidimensinal pasado por parametros,
  40.      * con un formato especial.
  41.      *
  42.      * @param vec es el vector a imprimir.
  43.      */
  44.     public static void imprimirVectorMulti(String vec[][]){
  45.         for(int i=0;i<vec.length;i++){
  46.             ES.msgln(vec[i][0] +" - "+ vec[i][1]);
  47.         }
  48.     }
  49.    
  50.     /**
  51.      * Este método imprime el vectorde enteros unidimensinal pasado por parametros
  52.      *
  53.      * @param vec es el vector a imprimir.
  54.      */
  55.     public static void imprimirVectorNumero(int vec[]){
  56.         for(int i=0;i<vec.length;i++){
  57.             ES.msgln(vec[i]);
  58.         }
  59.     }
  60.    
  61.     /**
  62.     * Este método sirve para obtener los números premiados de forma aleatoria y devolverlos en un array
  63.     *
  64.     * @param numPremios el tamaño del array
  65.     * @param papeletas rango maximo en el que debe estar el número aleatorio
  66.     * @return el array creado con los números premiados
  67.     */
  68.     public static int[] obtenerNumerosAleatroios(int numPremios, int papeletas){
  69.         int premios[]=new int[numPremios];
  70.         for(int i=0;i<numPremios;i++){
  71.             premios[i]=(int)Math.floor(Math.random()*papeletas);          
  72.         }
  73.         return premios;
  74.     }
  75.    
  76.     /**
  77.     * Este método sirve para obtener un array con los números premiados con su correspondiente premio
  78.     *
  79.     * @param numPre el array que contiene los números premiados
  80.     * @param nomPre el array que contiene los nombres de los premios
  81.     * @return el array creado con la relacion número premio
  82.     */
  83.     public static String[][] obtenerPremios(int numPre[], String nomPre[]){
  84.         String premioYnumero[][]=new String[numPre.length][2];
  85.         for(int i=0;i<numPre.length;i++){
  86.             premioYnumero[i][0]=Integer.toString(numPre[i]);
  87.             premioYnumero[i][1]=nomPre[i];
  88.         }
  89.         return premioYnumero;
  90.     }
  91.    
  92.     /**
  93.     * Este método sirve para ordenar un array alfabeticamente atendiendo a el número
  94.     * premiado, se basa en que ese dato lo guardamos en la primera colunma de nuestro
  95.     * array(vec[x][0])
  96.     *
  97.     * @param vec el array que contiene la relación de números premios
  98.     * @return el array creado con la relacion número premio ordenado
  99.     */
  100.     public static String[][] ordenarPorPremio(String vec[][]){
  101.         for(int i=0;i<(vec.length-1);i++){
  102.             for(int j=i+1;j<vec.length;j++){
  103.         if(vec[i][1].compareToIgnoreCase(vec[j][1])>0){
  104.                     String numeroPapeleta=vec[i][0];
  105.                     String nombrePremio=vec[i][1];
  106.                     vec[i][0]=vec[j][0];
  107.                     vec[i][1]=vec[j][1];
  108.                     vec[j][0]=numeroPapeleta;
  109.                     vec[j][1]=nombrePremio;
  110.         }
  111.             }
  112.     }
  113.         return vec;
  114.     }
  115.    
  116.     /**
  117.     * Este método sirve para ordenar un array alfabeticamente atendiendo a el nombre
  118.     * del premio, se basa en que ese dato lo guardamos en la segunda colunma de nuestro
  119.     * array(vec[x][1])
  120.     *
  121.     * @param vec el array que contiene la relación de números premios
  122.     * @return el array creado con la relacion número premio ordenado
  123.     */
  124.     public static String[][] ordenarPorPapeleta(String vec[][]){
  125.         for(int i=0;i<(vec.length-1);i++){
  126.             for(int j=i+1;j<vec.length;j++){
  127.         if(vec[i][0].compareToIgnoreCase(vec[j][0])>0){
  128.                     String numeroPapeleta=vec[i][0];
  129.                     String nombrePremio=vec[i][1];
  130.                     vec[i][0]=vec[j][0];
  131.                     vec[i][1]=vec[j][1];
  132.                     vec[j][0]=numeroPapeleta;
  133.                     vec[j][1]=nombrePremio;
  134.         }
  135.             }
  136.     }
  137.         return vec;
  138.     }
  139.        
  140.    
  141.    
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement