java练习题-猜数字游戏

1、猜数字游戏
一个类A有一个实例变量v,从键盘接收一个正整数作为实例变量v的初始值。
另外再定义一个类B,对A类的实例变量v进行猜测。

  • 如果大了则提示大了
  • 小了则提示小了
  • 等于则提示猜测成功
public class GuessFigure {
    public static void main(String[] args) {
        //创建对象A(此处并未使用随机生成数字random方法随机生成数字,而采用了赋值)
        A a = new A(100);
        //创建对象B
        B b = new B(a);
        //开始猜测(调用java中的System.in保证输入数字)
        java.util.Scanner s = new java.util.Scanner(System.in);
        //使用while判断,保证当猜测错误时候可以继续猜测,直到猜测成功返回(因为B类中猜测正确时候有终止语句)
        while(true) {
            System.out.println("请输入你猜测的数字:");
            int number = s.nextInt();
            b.guess(number);
        }
    }
}

class A {
    //私有变量v,表示数字
    private int v;

    //无参构造
    public A() {
    }

    //有参构造
    public A(int v) {
        this.v = v;
    }

    //getting and setting
    public int getV() {
        return v;
    }

    public void setV(int v) {
        this.v = v;
    }

}

class B {
    //将A与B建立起联系(通过B猜测A,需要有一个A对象的引用)
    private A a;

    //无参构造
    public B() {
    }
    //有参构造
    public B(A a) {
        this.a = a;
    }

    //getting and setting
    public A getA() {
        return a;
    }
    public void set(A a) {
        this.a = a;
    }

    //猜数字方法(参数值是猜测的数字)
    public void guess(int number) {
        //调用本类中的getA方法中的a,a属于A类型,可以调用a.getV方法来返回原值
        //因为在本类中,a可以直接调用,不必使用方法来调,所以this.getA().getV()可以写作a.getV()
        if(number == this.getA().getV()){
            System.out.println("猜测成功!");
            //如果猜测正确,结束运行(退出JVM)
            System.exit(0);
        }else if(number < this.getA().getV()){
            System.out.println("猜小了!");
        }else{
            System.out.println("猜大了!");
        }
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值