Bonjour à tous, je suis un cochon arqué de chou.
Le titre
Devinez jeu de nombres
-
Générez aléatoirement 4 entiers de 0 à 9 pour former une séquence (en utilisant le stockage LinkedList)
Par exemple: 3 6 4 4 -
Ensuite, l'utilisateur est invité à deviner les quatre nombres dans une boucle, et après chaque supposition, l'utilisateur est invité à indiquer que la position de plusieurs nombres est correcte.
Par exemple: si l'utilisateur entre 3 7 2 4 (les positions 3 et 4 sont correctes), l'utilisateur est invité à avoir 2 chiffres corrects (mais pas à indiquer quels 2 chiffres sont corrects, ce qui oblige l'utilisateur à juger). -
Utilisez LinkedList pour stocker la supposition de chaque utilisateur est une combinaison de nombres. Les utilisateurs peuvent vérifier leur propre saisie à tout moment.
Par exemple: 3 7 2 4
5 7 2 4
…… -
Lorsque l'utilisateur devine la 10e fois, il n'y a aucune chance de provoquer l'échec de la devinette.
Remarque: Utilisez la méthode Math.random () pour obtenir un nombre aléatoire de 0 à 1, puis développez-le 10 fois, puis convertissez-le en une
forme entière : int a = (int) (Math.random () * 10);
à ce stade, a est aléatoire Nombre, selon cette méthode pour obtenir 4 nombres aléatoires
Code
package com.hzyc.lesson15.homework16;
import java.util.LinkedList;
import java.util.Scanner;
interface IGame {
void initRandom();
int guess();
void time();
void showHis();
}
class GuessGame implements IGame {
LinkedList<Integer> randomList = new LinkedList<Integer>();
LinkedList<String> hisList = new LinkedList<String>();
public void initRandom() {
for (int n = 1; n <= 4; n++) {
randomList.add((int)(Math.random() * 10));
}
}
public int guess() {
System.out.println("\n请输入4个数字");
Scanner scan = new Scanner(System.in);
int cnt = 0;
String once = "";
for (int i = 0; i < 4; i++) {
int userInNumber = scan.nextInt();
once += userInNumber + " ";
int fromListNumber = randomList.get(i);
if (userInNumber == fromListNumber) {
cnt++;
}
}
hisList.add(once + ", 正确:" + cnt);
return cnt;
}
public void time() {
for (int k = 1; k <= 10; k++) {
int count = guess();
if (count == 4) {
System.out.println("对了!!");
} else if (count == 0) {
System.out.println("没有正确的...");
} else {
System.out.println("有" + count + "个正确的");
}
System.out.println("输入“h”查看历史,输入其他继续");
Scanner scan = new Scanner(System.in);
String userChoose = scan.next();
if (userChoose.equals("h")) {
showHis();
}
}
}
public void showHis() {
System.out.println("----start----");
for (String temp : hisList) {
System.out.println(temp);
}
System.out.println("----end----");
}
public void start() {
initRandom();
time();
}
}
public class TestGame {
public static void main(String[] args) {
GuessGame g = new GuessGame();
g.start();
}
}