From 7b0aff966ef6dfd9dd19778a66272817e5128b48 Mon Sep 17 00:00:00 2001 From: Pedro Rolon Date: Fri, 19 Oct 2018 08:31:26 -0300 Subject: [PATCH] Se agregaron los archivos correspondientes a la tarea! --- Generala.java | 145 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 5 +++++ respuestas.txt | 18 ++++++++++++++++++ 3 files changed, 168 insertions(+) create mode 100644 Generala.java create mode 100644 README.md create mode 100644 respuestas.txt diff --git a/Generala.java b/Generala.java new file mode 100644 index 0000000..23409f6 --- /dev/null +++ b/Generala.java @@ -0,0 +1,145 @@ +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"; + } + + //Para comprobar los tres casos posibles de escalera + if(dados.equals("12345") || dados.equals("23456") || dados.equals("34561")){ + return "ESCALERA"; + } + + //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]++; + } + + //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 + */ + + + } +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..a1aa258 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# COMENTARIOS +* El archivo con el código es **Generala.java** +* Comenté todas las lineas que el ejercicio decia **ignorar**, descomentar para realizar la prueba. +* Agregué lineas para testear, pero las comenté para que no afecten al resultado. +* Las preguntas las respondo en otro archivo llamado **respuestas.txt**, número **2** y la número **3** \ No newline at end of file diff --git a/respuestas.txt b/respuestas.txt new file mode 100644 index 0000000..ed3f4ef --- /dev/null +++ b/respuestas.txt @@ -0,0 +1,18 @@ +2. Responder a las siguientes preguntas + 2.1. Cuál es la probabilidad de sacar generala en un tiro + es de 0.077% + + 2.2. Cuál es la probabilidad de sacar poker en un tiro + es de 1.92% + + 2.3. Cuál es la probabilidad de sacar full en un tiro + es de 3.85% + + 2.4. Cuál es la probabilidad de sacar escalera en un tiro + es de 4.61% + +3. BONUS + 3.1. Cuál es la probabilidad de sacar generala en dos tiros + es de 0.15% + 3.2. Cuál es la probabilidad de sacar generala en tres tiros + es de 0.23% \ No newline at end of file -- libgit2 0.26.0