java猜字母讲解_java_猜字母游戏
java猜字母游戲
猜字母游戲:用戶指定游戲難度(5、7、9),程序生成隨機不重復字母。用戶猜錯,提示用戶對的字母數量和對的位置數量。
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("猜字母游戲,請輸入數字設置游戲難度(5、7、9),輸入“EXIT”退出");
num=scan.nextInt();
}while(num!=5&&num!=7&&num!=9);//判斷輸入的難度值
char[] arr=generate(num);
//System.out.println(Arrays.toString(arr)); //生成隨機數
int [] result;
do{
String str=scan.next().toUpperCase();//toUpperCase()將小寫字母改成大寫字母
if(str.equals("EXIT"))
break;
char[] chs=str.toCharArray();//toCharArray()將字符串轉換成字符數組
result=check(arr,chs);
if(result[0]==chs.length){
System.out.println("恭喜你猜對了");
}else{
System.out.println("你猜對字母:"+result[1]+"個 猜對位置:"+result[0]+"個");
}
}while(result[0]!=num);
}
//生成隨機字母
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){ //如果生成的隨機下標數flags[]的值為false,則可以生成word[]中該下標的字母
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]表示字母對
if(i==j){
result[0]++; //result[0]表示位置對
}
break;
}
}
}
return result;
}
}
總結
以上是生活随笔為你收集整理的java猜字母讲解_java_猜字母游戏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 查找——图文翔解RadixTree(基数
- 下一篇: GEF & EMF ,GMF 简