美文网首页
Java基础练习:猜单词

Java基础练习:猜单词

作者: 孙竞博 | 来源:发表于2017-12-26 20:58 被阅读0次

题目:

给定单词数组(不少于10个),程序随机选择其中的一个,并显示单词字符长度个横线(-),用户有5次猜测机会,用户每次猜一个字母,如果正确,则将在相应的位置上显示出来;如错误则猜测机会减一,重复该过程,直至单词的全部字母全部猜出或者猜测次数用完,最后宣布用户胜利或失败。

  • 目前还没试出错,应该是对的


    TIM图片20171226210429.png
TIM截图20171226210449.png image.png
import java.util.Scanner;

public class GuessWordsTest {
    public static void main(String[] args) {
        String[] wordsLibrary={"teacher","school","library","construction","apple","average","computer","freedom","general","common"};//单词库
        int wordsLibraryIndex=(int)(Math.random()*wordsLibrary.length);//生成单词库元素数量的随机数作为下标
        String theWord=wordsLibrary[wordsLibraryIndex];//随机的单词
        int wordLength=theWord.length();//单词的长度
        String hiddenWord="";//创建一个空字符串为"----"用
        char[] theWordSplit=theWord.toCharArray();//将单词字符串变为字符数组
        for(int i=0;i<wordLength;i++)//初始化单词长度为"----"
        {
            hiddenWord=hiddenWord+"-";
        }
        char[] hiddenWordSplit=hiddenWord.toCharArray();//将"----"变为字符数组
        System.out.println("欢迎来到猜单词游戏,您一共有5次机会,单词的字母数量如下");
        System.out.println(hiddenWord);
        System.out.println("开始游戏");
        int guessCount=5;//初始5次猜测机会
        while(guessCount>0)//开始游戏,当机会等于0次时,游戏结束
        {
            Scanner input=new Scanner(System.in);
            System.out.println("请输入字母:");
            String inputLetter = input.next();
            char letter = inputLetter.toCharArray()[0];//用户输入的字母
            int i;
            if(theWord.indexOf(letter)>=0)//如果用户输入字母在此单词中,为"----"循环赋值
            {
                for ( i = 0; i < theWord.length(); i++)
                {
                    if(letter==theWordSplit[i])
                    {
                        hiddenWordSplit[i] = letter;
                    }
                }
                System.out.println(hiddenWordSplit);
            }
            else//如果用户输入字母不在此单词中,减少1次机会
            {
                    guessCount--;
                    System.out.println("您还有"+guessCount+"次机会");               
                    System.out.println(hiddenWordSplit);
            }
            if(String.valueOf(hiddenWordSplit).equals(String.valueOf(theWordSplit)))//将字符数组转换为字符串,如果"----"已经被填充满,并且与单词相同,就跳出循环,宣布胜利
            {
                break;
            }
        }
        if(guessCount==0)
        {
            System.out.println("您输了,该单词为"+theWord);
        }
        else
        {
            System.out.println("恭喜您,游戏胜利!");
        }
    }
}

相关文章

  • Java基础练习:猜单词

    题目: 给定单词数组(不少于10个),程序随机选择其中的一个,并显示单词字符长度个横线(-),用户有5次猜测机会,...

  • 9.java基础综合编程练习---猜单词游戏

    任务目的 1.掌握字符串常用操作 2.掌握随机数的用法 3.掌握控制台基本输入输出 4.掌握循环,分支条件的用法 ...

  • java基础练习(猜大小游戏)

    猜数字游戏 当你输入一个数字如果比结果小,我们就让它提示太小了;如果太大了就提示太大了,直到猜对了,我们最后再统计...

  • java基础单词

    1.Scanner英/'skænə/ 释义:扫描仪,电子与通讯控制技术 应用:new Scanner (Syste...

  • 猜单词

    自己的答案 老师的答案 给定指定文件读出文件里的单词作为数组

  • 猜单词

  • 猜单词

    public static void printWords(char[] wordNow){for(int i =...

  • 猜单词

    '''计算机从一组单词中随机挑一个出来,然后对其进行乱序(也就是让单词的字母随机排列)。玩家要猜出原始单词才算赢。...

  • 猜单词

    ''' 计算机从一组单词中随机挑一个出来,然后对其进行乱序(也就是让单词的字母随机排列)。玩家要猜出原始单词才算赢...

  • java基础编程练习之谁拿了最多奖学金

    java基础编程练习之谁拿了最多奖学金

网友评论

      本文标题:Java基础练习:猜单词

      本文链接:https://www.haomeiwen.com/subject/ypyegxtx.html