Commit 7b0aff96 by Pedro Rolon

Se agregaron los archivos correspondientes a la tarea!

parents
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; i<dados.length(); i++){
// para castear char a int
int index = dados.charAt(i) - 48;
//comprueba que los valores sean válidos, del 1 al 6
if(index<1 || index>6){
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; i<input.length; i++){
if(input[i]>max){
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<String> lines = new ArrayList<String>();
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
# 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
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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment