用Java来完成简单游戏
目的
- 能够正确区分类和对象
- 能够灵活调用Java里面的方法
- 能够自己创建方法并正确使用
技术
对象:
具体的,实际存在的,某一类的实例化
对象都是new出来的
可以完成具体的事情,有内存空间的
同一个类可以有多个对象
类:抽象的 不实际存在 描述同一类实物(具有共同的属性和方法)
由于我们的游戏是要猜测已经排序好的四个数,所以要用到排序函数,即 Arrays.sort();
又由于Java里面没有对有重复数的去除以及索引函数,所以我们要自己定义
代码引用
public static boolean contains ( int[] val, int obj){
for (int i = 0; i < val.length; i++) {
if (val[i] == obj) {
return true;
}
}
return false;
}
public static int indexOf ( int[] val, int obj){
for (int i = 0; i < val.length; i++) {
if (val[i] == obj) {
return i;
}
}
return -1;
}
具体代码实现
由于我们的方法已经建立好了,只需要创建一个main函数,然后合理运用函数完成操作代码引用
class Guessnumber {
public static void main(String[] args) {
int[] org = new int[4];
int[] guess = new int[4];
Random random = new Random();
for (int i = 0; i < 4; i++) {
int temp = random.nextInt(10);
boolean result = contains(org, temp);
if (result) {
i--;
} else {
org[i] = temp;
}
}
Arrays.sort(org);
System.out.println(Arrays.toString(org));
Scanner scanner = new Scanner(System.in);
while (true) {
int countA = 0;
int countB = 0;
System.out.print("请输入猜测的数字");
for (int i = 0; i < 4; i++) {
guess[i] = scanner.nextInt();
}
for (int i = 0; i < 4; i++) {
boolean result = contains(guess, org[i]);
if (result == true) {
int index = indexOf(guess, org[i]);
System.out.println("i:" + i + "index:" + index);
if (index == i) {
countA++;
} else {
countB++;
}
}
}
if (countA == 4) {
System.out.println("恭喜全对!");
break;
} else {
System.out.println(countA + "A" + countB + "B");
}
}
}
注意如果是单独的一个类可以加public,有多个类只能写一个带有public的类