设计一个猜数字游戏
/*
一个类A有一个实例变量v,从键盘接受一个正整数作为实例变量v的初始值。
另外,在定义一个类B,对A类的实例变量v进行猜测。
如果大了则提示大了。反之亦然,直至成功。
*/
class A{
private int v;
public A(){}
public A(int v){
this.v = v;
}
public void setV(int v) {
this.v = v;
}
public int getV(){
return this.v;
}
}
// 通过B猜A,在B中有一个A的对象引用
class B{
// 把A作为B的实例变量
private A a;
public B(){}
public B(A a){
this.a = a;
}
public void setA(A a){
this.a = a;
}
public A getA(){
return this.a;
}
// 猜测方法
public void call(int guessNum){
int realNum = this.getA().getV();
if (guessNum == realNum){
System.out.println("win!");
System.exit(0);
} else if( realNum > guessNum){
System.out.println("guess lesser");
} else {
System.out.println("guess bigger");
}
}
}
public class Test {
public static void main(String[] args) {
A a = new A(100);
B b = new B(a);
//开始猜
java.util.Scanner s = new java.util.Scanner(System.in);
while (true) {
System.out.print("Start to guess and input the guess number: ");
int guessNum = s.nextInt();
b.call(guessNum);
}
}
}