Cómo determinar el color de las cartas de póquer usando Java
¿Público? ¿clase? ¿Vomitar? {
¿Privado? ¿Cadena? Color;
¿Privado? ¿Cadena? número
¿Público? ¿Cadena? obtenerColor()? {
¿Volver? Color;
}
¿Público? ¿Vacío? setColor(¿Cadena? Color)? {
¿Este color? =?Color;
}
¿Público? ¿Cadena? obtenerNúm()? {
¿Volver? número
}
¿Público? ¿Vacío? setNum(cadena?num)? {
¿Este número? =?num
}
¿Público? escupir (¿cadena? ¿color? ¿cadena? número)? {
super();
¿Este color? =?Color;
Este.num? =?num
}
¿Público? ¿Electricidad estática? ¿Vacío? principal(Cadena[]?args)? {
¿Listar la tarjeta GT que está vomitando? =?Nuevo? ArrayList ltvomitgt();
card.add(new?vomit("negro","2"));
card.add(new?vomit("negro") , "3"));
card.add(new? spit("黑", "4"));
card.add(new? spit("黑" , "5"));
card.add(new? spit("黑","6"));
//Aquí, debido a que 10 es un número de dos dígitos, y La superficie de la tarjeta no se utiliza, así que utilice 10 en lugar de 10.
¿Cadena? ¿examinar? =?"234567891j qka";
¿Booleano? ¿Bandera? =Verdadero;
//Comparador definido por el usuario, utiliza el tamaño del subíndice de num en verificación como base de comparación para la clasificación.
Colecciones.sort(tarjetas, nuevo ? comparador ltObject gt()?{
@override
público ?int ?comparison(Objeto ?o1, ? o2 )? :?check.índice de(er 1. getnum());
Entero org2?=?(int)(er1.getNum()?==?null?0.0?:?check .index of(er2 . getnum());
Regresar?org 1 comparar con( org 2);
}
});
¿Para qué? (int?i?=?0;?i?lt?card.size()-1;? i )? {
//Si los colores son diferentes, salta del bucle directamente
If (!card.get(i) .getColor().equals(card.get(i 1)).
getColor())){
¿Marcar? = false;
Break;
}
// Si la diferencia entre la carta anterior y la siguiente no es 1, significa que la cara de la carta no es correcto y el bucle está roto.
if((int)check . index of(card . get(I 1)). getNum())-(int)check . index of(card . get(I). getNum()) ! =1){
¿Marcar? =?Falso;
Romper;
}
}
if(flage){
Sistema . out.println("La superficie de la tarjeta está al ras");
} De lo contrario {
System.out.println("La superficie de la tarjeta no está al ras");
}
}
Pero la única desventaja de este método es que 10 no se puede utilizar directamente en la inspección y debe juzgarse cuando se presente más adelante. Si es 1, se puede cambiar directamente a 10.
De hecho, hay muchas formas de implementarlo. Estoy escribiendo esto porque estoy revisando recientemente, por lo que utilizaré más puntos de conocimiento.