请教java专家:用Java写一个猜数字游戏
导入Java . util . random;
导入Java . util . scanner;
/**
*猜谜游戏系统自动生成0-9四个非复数。用户猜测该数字与系统生成的数字相同且位置相同,因此在该位置输出a。如果数字相同但位置不同,则在该位置输出b。
*其他数字保持不变。
*
* @作者学生
*
*/
公共类测试{
/**
*生成不重复的随机数
*
* @返回一个数组
*/
public int[] rand() {
int[]array = new int[4];
Random rd = new Random();
for(int I = 0;我& lt4;i++) {
array[I]= rd . nextint(10);
for(int j = 0;j & lt我;j++) {
if (array[j] == array[i]) {
I-;
打破;
}
}
}
返回数组;
}
/**
*将生成的随机数组与用户的输入进行比较。
*对于位置和编号相同的数组,用‘a’代替,对于位置不同但编号相同的数组,用‘b’代替,并计算‘a’和‘b’的个数
*
* @param数组
* @返回一个字符串。
*/
公共字符串get(int[] array) {
for(int I = 0;我& lt4;i++) {
system . out . println(array[I]);//输出系统生成的随机数
}
int[]list = new int[4];
扫描仪扫描=新扫描仪(system . in);
system . out . print(" Please enter:");
for(int I = 0;我& lt4;i++) {
list[I]= scan . nextint();
}
for(int I = 0;我& lt4;i++) {
for(int j = 0;j & lt4;j++) {
if (array[i] == list[j]) {
if (i == j) {
list[j]= ' a ';
}否则
list[j]= ' b ';
}
}
}
int m = 0;
int n = 0;
for(int I = 0;我& lt4;i++) {
if(list[I]= ' a '){
m++;
} else if (list[i] == 'b') {
n++;
}
}
n = m+n;
system . out . print(" \ n "+m+" A "+n+" B \ n ");
返回m+“A”+n+“B”;
}
公共静态void main(String[] args) {
测试test = new test();
int[]array = test . rand();
if (test.get(array)。equals(" 4A4B "){
}否则{
而(!test.get(数组)。equals(" 4A4B "){
test.get(数组);
}
}
}
}