import java.util.ArrayList; import java.util.List; import java.util.Scanner; import java.io.File; public class Generala { // // // // class Generala // ESTA ES LA FUNCIÓN QUE HAY QUE IMPLEMENTAR // TAMBIÉN PUEDEN AGREGAR OTRAS FUNCIONES y/o CLASES // QUE NECESITEN PARA RESOLVER EL EJERCICIO DE LA // MANERA MÁS ORDENADA POSIBLE String jugada(String dados) { //System.out.println(dados.charAt(0)); //comprobar que sean 5 valores if(dados.length() != 5){ return "INVALIDO"; } //array para tener la cantidad de apariciones de un número int[] cantidad = {0, 0, 0, 0, 0, 0}; for(int i=0; i6){ return "INVALIDO"; } cantidad[index-1]++; } boolean bandera=true; System.out.print(cantidad[0]+"|"+cantidad[1]+"|"+cantidad[2]+"|"+cantidad[3]+"|"+cantidad[4]+"|"+cantidad[5]); System.out.println(); //Comprueba la escalera 12345 for (int i = 0; i < 5; i++) { if(cantidad[i]!=1){ bandera=false; break; } } if(bandera){ return "ESCALERA"; } bandera=true; //Comprueba la escalera 23456 for (int i = 1; i < 6; i++) { if(cantidad[i]!=1){ bandera=false; break; } } if(bandera){ return "ESCALERA"; } bandera=true; //Comprueba la escalera 34561 for (int i = 2; i < 6; i++) { if(cantidad[i]!=1){ bandera=false; break; } } if(cantidad[0]!=1){ bandera=false; } if(bandera){ return "ESCALERA"; } //calcula el máximo del vector cantidad int max = maximo(cantidad); //System.out.println(max); if(max==5){ return "GENERALA"; } if(max == 4){ return "POKER"; } if(max==3){ cantidad[indiceDe(cantidad,max)] = 0; max = maximo(cantidad); if(max==2){ return "FULL"; } } return "NADA"; } //encuentra el valo máximo de un array int maximo(int[] input){ int max=-1; for(int i=0; imax){ max = input[i]; } } return max; } //encuentra el índice de un elemento int indiceDe(int[] input, int elemento){ for (int i = 0; i < input.length; i++) { if(input[i]==elemento){ return i; } } //retorna -1 si no lo encuentra return -1; } /* // Ustedes pueden ignorar esto String[] jugadas(String[] losdados) { String[] ret = new String[losdados.length]; int i = 0; for (String dados : losdados) { ret[i] = this.jugada(dados); i++; } return ret; } // Ustedes pueden ignorar esto static String[] processBatch(String fileName) throws Exception { Scanner sc = new Scanner(new File(fileName)); List lines = new ArrayList(); while (sc.hasNextLine()) { lines.add(sc.nextLine()); } return lines.toArray(new String[0]); } */ public static void main(String[] args) throws Exception { Generala g = new Generala(); /* IGNORAR PORQUE ESTO NO SE VA A EJECUTAR PARA USTEDES */ /* if (args.length > 0) { String[] jugadas = processBatch(args[0]); String resultados[] = g.jugadas(jugadas); for(String res : resultados) { System.out.println(res); } return; } */ // ESTO SI SE EJECUTA PARA USTEDES /* System.out.println(g.jugada("12345")); //ESCALERA System.out.println(g.jugada("23456")); //ESCALERA System.out.println(g.jugada("34561")); //ESCALERA System.out.println(g.jugada("22222")); //GENERALA System.out.println(g.jugada("23223")); //FULL System.out.println(g.jugada("43434")); //FULL System.out.println(g.jugada("43435")); //NADA System.out.println(g.jugada("2322")); //INVALIDO System.out.println(g.jugada("232823"));//INVALIDO System.out.println(g.jugada("23A23")); //INVALIDO System.out.println(g.jugada("55155")); //POKER */ } }