Este artículo describe el juego de adivinanzas de número implementado por Java. Compártelo para su referencia, como sigue:
Aquí hay un código de adivinanzas de lenguaje Java, el proceso es el siguiente:
Por ejemplo: el generado es 0369 y la entrada del usuario es 0396, que muestra 2A2B. Las dos posiciones son correctas y los números son correctos, y las otras dos son correctas y las posiciones son incorrectas.
Código Java:
paquete com.example.test; import java.util.random; import java.util.scanner; public class NumberCode {int [] nums = new int [4]; int [] inputNumSArray = new int [4]; int DISTARYYLEVEL; int dificultad; int aa = 0; int bb = 0; String NumbersTr = ""; Cadena str = ""; / *** Genere números aleatorios*/ public int [] randnums (int n) {for (int i = 0; i <nums.length; i ++) {rand ran = new Random (); int a = ran.nextint (10); if (i -1! = -1) {for (int j = 0; j <i; j ++) {if (a == nums [j]) {i--; romper; } else {nums [i] = a; }}} else {nums [i] = a; }} return nums; } / *** Seleccione Dificultad del juego* / public int selectLevel () {// Acepta un número // 1: fácil de adivinar 12 veces // 2: común puede adivinar 9 veces // 3: duro puedes adivinar 7 veces @supesswarnings ("recursos") escaneador de escáner = new Scanner (System.in); System.out .Println ("Seleccione el coeficiente de dificultad (ingrese el número), 1: fácil puede adivinar 12 veces; 2: común puede adivinar 9 veces; 3: difícil puede adivinar 7 veces"); dificultad = scan.nextInt (); Switch (dificultad) {Caso 1: DifícileLevel = 12; romper; Caso 2: Difícil de nivel = 9; romper; Caso 3: Difícil de nivel = 7; romper; predeterminado: ruptura; } return DISTARELEVEL; } / *** Acepte la entrada de números por el usuario* / public int [] inputNums (int n) {@supplesswarnings ("recurso") Scanner Scan = new Scanner (System.in); int b = scan.nextInt (); for (int i = 0; i <inputNumSArray.length; i ++) {int c = (int) ((int) b / math.pow (10, 3 - i)); inputNumSArray [i] = c; b = (int) (b - c * math.pow (10, (3 - i))); } return inputNumSArray; } / *** Método de comparación de números* / public String Compare (int [] respuesta, int [] entradas) {for (int i = 0; i <respuesta.length; i ++) {if (entradas [i] == respuesta [i]) {aa+= 1; continuar; } else {for (int j = 0; j <respuesta.length; j ++) {if (inputs [i] == respuesta [j]) {bb+= 1; }}}} str = "" + aa + "a" + bb + "b"; regresar str; } / *** todo el código de proceso del juego* / public void play () {randnums (4); for (int i = 0; i <nums.length; i ++) {numbeTr = numbersTr+nums [i]; } selectLevel (); System.out.println ("Usted seleccionó el coeficiente de dificultad:" + Dificultad + "Total:" + Difícil Velel + "Times of Chance"); para (int i = 0; i <duraTyylevel; i ++) {inputNums (4); int Chancenums = DIFRETYYLEVEL - I - 1; comparar (NUMS, InputNumSArray); if (aa! = 4) {if (aa == 0) {System.out.println ("Las posibilidades se usan, la respuesta es:" + NumbersTR); romper; } else {system.out.println (str + "todavía tienes" + chancenums + "times oportunidad"); } aa = 0; bb = 0; } else if (aa == 4) {System.out.println ("Felicitaciones, respondió correctamente"); romper; }}} public static void main (string [] args) {numberCode a = new NumberCode (); a.play (); }}Resultados de ejecución:
Seleccione el coeficiente de dificultad (ingrese el número), 1: fácil puede adivinar 12 veces; 2: Common puede adivinar 9 veces; 3: Hard puede adivinar 7 veces
1
Elegiste el coeficiente de dificultad: 1 Hay 12 posibilidades en total.
0123
0a 2b tienes 11 oportunidades
2345
2a 0b tienes 10 oportunidades más
5678
2a 0b tienes 9 oportunidades más
7890
0a 2b tienes 8 oportunidades más
2378
Felicitaciones, tienes la respuesta correcta
El efecto de operación es el siguiente:
Para obtener más información sobre los algoritmos de Java, los lectores que están interesados en este sitio pueden ver los temas: "Resumen de las habilidades de operación matemática de Java", "Tutoriales de la estructura de datos de Java y el algoritmo", "Resumen de las habilidades de nodo DOM de Operación Java", "Resumen del archivo de Java y las habilidades de operación directora" y "Summary of Java Cache Skills"
Espero que este artículo sea útil para la programación Java de todos.