Advertisement
chete

baraja final

Apr 22nd, 2014
414
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.92 KB | None | 0 0
  1. package baraja;
  2. import java.util.ArrayList;
  3. import java.util.Arrays;
  4. import java.util.Collections;
  5. import java.util.Iterator;
  6. import java.util.Scanner;
  7. public class Baraja {
  8.  
  9.         public static void main(String[] args) {
  10.                 // TODO Auto-generated method stub
  11.                 // leer cadena e introducirla en un array
  12.                 ArrayList<String> Cartas = new ArrayList();
  13.                 ArrayList<String> CadenaRep = new ArrayList();
  14.                 ArrayList<Integer> numUsed = new ArrayList();
  15.                 ArrayList<String> CadEnd= new ArrayList();
  16.                
  17.                 ArrayList<Integer> Oros = new ArrayList();
  18.                 ArrayList<Integer> Copas = new ArrayList();
  19.                 ArrayList<Integer> Espadas = new ArrayList();
  20.                 ArrayList<Integer> Bastos = new ArrayList();
  21.                
  22.                 ArrayList<String> cadenaFinal = new ArrayList();
  23.                
  24.                 int numOros;
  25.                 int numCopas;
  26.                 int numBastos;
  27.                 int numEspadas;
  28.                
  29.                 Scanner lee = new java.util.Scanner(System.in);
  30.                 String cadena = lee.nextLine().trim();
  31.                 lee.close();
  32.                 String[] serie = cadena.split(" ");
  33.                
  34.              
  35.                 //eliminar numeros repetidos
  36.                 for (int i = 0; i< serie.length; i++){
  37.                     boolean num1=false;
  38.                     int num2;
  39.                     if(serie[i].length()==2){
  40.                         num2=Integer.valueOf(serie[i].substring(0, 1))
  41.                                 .intValue();
  42.                     }else{
  43.                         num2=Integer.valueOf(serie[i].substring(0, 2))
  44.                                 .intValue();
  45.                     }
  46.                     for(int k = 0; k < numUsed.size(); k++){
  47.                         if(num2==((Integer) numUsed.get(k)).intValue()){
  48.                             num1=true;
  49.                         }
  50.                     }  
  51.                     if (!num1) {
  52.                         numUsed.add(Integer.valueOf(num2));
  53.                         CadenaRep.add(serie[i]);//***********************************************//
  54.                     }else{
  55.                         for(int k = 0; k< CadenaRep.size();k++){
  56.                             int aux1;
  57.                             if (((String) CadenaRep.get(k)).length() == 2){
  58.                                 aux1= Integer.valueOf(((String) CadenaRep.get(k)).substring(0,1)).intValue();
  59.                             }else{
  60.                                 aux1= Integer.valueOf(((String) CadenaRep.get(k)).substring(0,2)).intValue();
  61.                             }
  62.                             if(num2==aux1){
  63.                                 CadenaRep.remove(k);
  64.                             }
  65.                         }
  66.                     }  
  67.                     }
  68.                
  69.                
  70.                
  71.                
  72.                
  73.                 //almacenamos los palos en diferentes arrays
  74.                 for(int i = 0; i< CadenaRep.size(); i++){
  75.                     if(CadenaRep.get(i).endsWith("o")){
  76.                         if (((String) CadenaRep.get(i)).length() == 2) {
  77.                             numOros = Integer.valueOf(
  78.                                             CadenaRep.get(i).substring(0, 1)).intValue();
  79.                             Oros.add(numOros);
  80.                     } else {
  81.                             numOros = Integer.valueOf(
  82.                                             CadenaRep.get(i).substring(0, 2)).intValue();
  83.                             Oros.add(numOros);
  84.                          }
  85.                 }
  86.                  }
  87.                
  88.                 for(int i = 0; i< CadenaRep.size(); i++){
  89.                     if(CadenaRep.get(i).endsWith("c")){
  90.                         if (((String) CadenaRep.get(i)).length() == 2) {
  91.                             numCopas = Integer.valueOf(
  92.                                             CadenaRep.get(i).substring(0, 1)).intValue();
  93.                             Copas.add(numCopas);
  94.                     } else {
  95.                             numCopas = Integer.valueOf(
  96.                                             CadenaRep.get(i).substring(0, 2)).intValue();
  97.                             Copas.add(numCopas);
  98.                          }
  99.                 }
  100.                  }
  101.                
  102.                 for(int i = 0; i< CadenaRep.size(); i++){
  103.                     if(CadenaRep.get(i).endsWith("b")){
  104.                         if (((String) CadenaRep.get(i)).length() == 2) {
  105.                             numBastos = Integer.valueOf(
  106.                                             CadenaRep.get(i).substring(0, 1)).intValue();
  107.                             Bastos.add(numBastos);
  108.                     } else {
  109.                             numBastos = Integer.valueOf(
  110.                                             CadenaRep.get(i).substring(0, 2)).intValue();
  111.                             Bastos.add(numBastos);
  112.                          }
  113.                 }
  114.                  }
  115.                
  116.                 for(int i = 0; i< CadenaRep.size(); i++){
  117.                     if(CadenaRep.get(i).endsWith("e")){
  118.                         if (((String) CadenaRep.get(i)).length() == 2) {
  119.                             numEspadas = Integer.valueOf(
  120.                                             CadenaRep.get(i).substring(0, 1)).intValue();
  121.                             Espadas.add(numEspadas);
  122.                     } else {
  123.                             numEspadas = Integer.valueOf(
  124.                                             CadenaRep.get(i).substring(0, 2)).intValue();
  125.                             Espadas.add(numEspadas);
  126.                          }
  127.                 }
  128.                  }
  129.                 //ahora los ordenamos
  130.                 Collections.sort(Oros);
  131.                 Collections.sort(Copas);
  132.                 Collections.sort(Espadas);
  133.                 Collections.sort(Bastos);
  134.                 //almacenaremos los arrays en uno unico siguiendo el orden de valor de los palos
  135.                 for(int i = 0; i < Oros.size();i++){
  136.                     CadEnd.add(Oros.get(i) + "o");
  137.                 }
  138.                 for(int i = 0; i < Copas.size();i++){
  139.                     CadEnd.add(Copas.get(i) + "c");
  140.                 }
  141.                 for(int i = 0; i < Espadas.size();i++){
  142.                     CadEnd.add(Espadas.get(i) + "e");
  143.                 }
  144.                 for(int i = 0; i < Bastos.size();i++){
  145.                     CadEnd.add(Bastos.get(i) + "b");
  146.                 }
  147.                
  148.                
  149.                  for (int i = 0; i< CadEnd.size(); i++){
  150.  
  151.                      if(i == CadEnd.size() - 1){
  152.                                System.out.print((String) CadEnd.get(i) + " ");
  153.                                System.out.println();
  154.    
  155.                        } else {
  156.                                System.out.print((String) CadEnd.get(i) + " ");
  157.                                
  158.                        }
  159.                    }
  160.                  
  161.           }
  162.                
  163.         }
  164.         }//1o  2c 10b 1c 11e 7e ejemplo
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement