数据结构-1-2.LinkedList【作业】-猜数字( 随机生成4个0到9的整数,组成一个序列(使用LinkedList存储))

大家好,我是被白菜拱的猪。

题目

猜数字游戏

  1. 随机生成4个0到9的整数,组成一个序列(使用LinkedList存储)
    例如:3 6 4 4

  2. 然后要求用户循环猜这4个数子,在用户每猜一次之后,提示用户有几个数字的位置正确了。
    例如:用户输入3 7 2 4 (3和4的位置正确了),则提示用户有2个数字正确(但不提示具体是哪2个数字正确,需要用户自行判断)。

  3. 使用LinkedList存储用户每次猜测是数字组合。用户可以随时查看之前自己的输入
    例如:3 7 2 4
    5 7 2 4
    ……

  4. 用户猜到第10次时,就没有机会,提示猜测失败。

注意:使用Math.random()方法获取0到1的随机数,然后扩大10倍,再转换成整型
形式:int a = (int)(Math.random() * 10);
此时a就是随机数,依此方法获取4个随机数

代码

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();
	}
}

发布了24 篇原创文章 · 获赞 4 · 访问量 2038

猜你喜欢

转载自blog.csdn.net/weixin_44226263/article/details/98338664