我的猜单词

public class guessword {
public static void main(String[] args) {
String[] words = {"apple","banana","cherry","orange","pear","watermelon","pitaya","mango","coconut"};
//定义数组为题库
Random random = new Random();
int windex = random.nextInt(words.length);
//产生随机数组下标
String guessword = words[windex];
//产生被猜的单词
System.out.println(guessword);
//输出被猜写的单词
String[] word = new String[words[windex].length()];
//把被猜写的单词转成字符串数组
for (int i = 0; i <word.length;i++){
word[i] = "-";
}
//遍历数组,把数组中的字符串替换成等长度的“-”
for (int i = 0; i < word.length;i++){
System.out.print( word[i]+" ");
}
//输出与被猜写单词等长度的“-”
int guesscount = 5;
//设置猜单词次数
System.out.println();
//换行
while (true){
Scanner scanner = new Scanner(System.in);
String zm = scanner.next();
//接受用户输出字母
int num = 0;
if (guessword.indexOf(zm) >= 0){
while (true){
num = guessword.indexOf(zm,num);
//定义 输入字母 在被猜写单词中的 起始 查找下标
if (num >= 0){
word[num] = zm;
num++;
//找到并替换“-”
}
else {
break;
}
}
for (int i = 0; i < word.length;i++){
System.out.print( word[i]+" ");
//输出当前查找情况
}
System.out.println();
//换行
}else {
guesscount--; // 输入的字母不在被猜单词内,猜单词次数减一
if (guesscount == 0){
System.out.println("你输了,游戏结束"); //如果猜单词次数等于0 游戏结束 你输了 跳出循环
break;
}
System.out.println("错了,还有"+guesscount+"次错的机会"); //输出剩余猜单词次数
}
boolean isfind = false; //布尔变量 判断 被猜写单词中是否还存在“-”
for (int i = 0; i < word.length;i++){
if (word[i].equals("-")){
isfind = true; // 如果还存在继续猜
break;
}
}
if (isfind == false){
System.out.println("你赢了"); //如果不存在 游戏结束 你赢了
}
}
}
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 10,536评论 0 41
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 5,939评论 0 2
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,955评论 18 399
  • 1 顺序语句 语句:使用分号分隔的代码称作为一个语句。 注意:没有写任何代码只是一个分号的时候,也是一条语句,...
    哈哈哎呦喂阅读 3,051评论 0 0
  • 时间越久,我怕你会消失不见。距离越远,难以看到你的容颜。 不相见,倍思念。天空的云软绵绵,让我想到从前,渐渐地忘了...
    神秘嘉宾方阅读 1,306评论 0 1