请教java专家:用Java写一个猜数字游戏

包com . zu Xia . CG . guest;

导入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(数组);

}

}

}

}