java猜字母讲解_java_猜字母游戏
java猜字母游戲
猜字母游戲:用戶指定游戲難度(5、7、9),程序生成隨機(jī)不重復(fù)字母。用戶猜錯(cuò),提示用戶對(duì)的字母數(shù)量和對(duì)的位置數(shù)量。
import java.util.Scanner;
public class GuessWord {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
int num;
do{
System.out.println("猜字母游戲,請(qǐng)輸入數(shù)字設(shè)置游戲難度(5、7、9),輸入“EXIT”退出");
num=scan.nextInt();
}while(num!=5&&num!=7&&num!=9);//判斷輸入的難度值
char[] arr=generate(num);
//System.out.println(Arrays.toString(arr)); //生成隨機(jī)數(shù)
int [] result;
do{
String str=scan.next().toUpperCase();//toUpperCase()將小寫字母改成大寫字母
if(str.equals("EXIT"))
break;
char[] chs=str.toCharArray();//toCharArray()將字符串轉(zhuǎn)換成字符數(shù)組
result=check(arr,chs);
if(result[0]==chs.length){
System.out.println("恭喜你猜對(duì)了");
}else{
System.out.println("你猜對(duì)字母:"+result[1]+"個(gè) 猜對(duì)位置:"+result[0]+"個(gè)");
}
}while(result[0]!=num);
}
//生成隨機(jī)字母
public static char[] generate(int num){
char[] chs=new char[num];
char[] word=new char[26];
for(int i=0;i
word[i]=(char)(65+i);//賦值 A、B、C、D、、、、
}
boolean[] flags=new boolean[word.length];
for(int i=0;i
int index;
do{
index=(int)(Math.random()*word.length);
if(flags[index]==false){ //如果生成的隨機(jī)下標(biāo)數(shù)flags[]的值為false,則可以生成word[]中該下標(biāo)的字母
chs[i]=word[index];
flags[index]=true;
break;
}
}while(flags[index]);
}
return chs;
}
//判斷用法輸入
public static int[] check(char[] chs ,char[] input){
int result[]=new int[2];
for(int i=0;i
for(int j=0;j
if(chs[i]==input[j]){
result[1]++; //result[1]表示字母對(duì)
if(i==j){
result[0]++; //result[0]表示位置對(duì)
}
break;
}
}
}
return result;
}
}
總結(jié)
以上是生活随笔為你收集整理的java猜字母讲解_java_猜字母游戏的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 查找——图文翔解RadixTree(基数
- 下一篇: GEF & EMF ,GMF 简