设计一个猜数字游戏
/*
一个类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);
    }
  }
}










