/**
* @人机猜数游戏
* @时间 2008-1-18
* @作者 范琪
*/
package exercise;
import java.io.*;
import java.math.*;
public class GuessNums {
/** Creates a new instance of GuessNums */
public GuessNums() {
}
public static void main(String[] args) throws IOException {
int count=0;//统计猜数的次数
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
System.out.println("——————猜数游戏——————");
//System.out.println("电脑随机产生一个数!");
//产生四个不同的随机数,存在数组array里
int[] array=new int[4];
array[0]=(int)(Math.random()*10);
int arrayLength=array.length;
for(int i=1;i<arrayLength;i++){
array[i]=(int)(Math.random()*10);
for(int j=0;j<i;j++){
if(array[i]==array[j])i=i-1;
}
}
System.out.println("电脑已产生一个每位都不同的四位数,请猜数!");
//System.out.println("电脑产生的随机数是:");
//for(int i : array)
//System.out.print(i);
System.out.println();
System.out.println("请随便输入四个不重复的数字(您总共有8次猜中的机会):");
do{
count++;
System.out.println("第"+count+"机会:");
int[] guess=new int[4];
String s;
s=bf.readLine();
int guessLength=guess.length;
for(int i=0;i<guessLength;i++){
guess[i]=(int)s.charAt(i)-48;//将字符转化为数字
}
int n=0;
int m=0;
for(int i=0;i<arrayLength;i++){
for(int j=0;j<guessLength;j++){
if(array[i]==guess[j]){
n++;
if(i==j)m++;
}
}
}
//A表示四个数字中位置和数字都正确的个数
//B数字相同而位置不同的个数
System.out.print("A"+m+"B"+n);
if(m==4 && n==4){
System.out.println("/nGOOD~全部对了~~~~~~你真聪明!");
break;
}else{
System.out.println("/n您还有机会,请继续猜数!");
}
}while(count<8);
if(count==8)
System.out.println("真遗憾!8次您都没有猜中!太笨了!~~~~");
}
}