模拟一个人开枪射击的过程

首页 » 技术栈 » 模拟一个人开枪射击的过程

1.任务描述

请用代码模拟一个人开枪射击的过程,装填子弹(装满了就不能再装填),射击(没子弹不能射击),先装进的子弹先射击出去。

2.实现思路

定义两个类,一个 Person 类,一个 Gun 类。
Gun 里面有一个弹夹(int 类的数组)初始容量为 5,还有一个装子弹的方法 push,打出子弹的方法 pop。
Person 类有一个实例方法 shoot 方法,调用 Gun 中 方法 pop

3.实现代码

class Person {
// 人要打枪,打什么枪不知道.
public void shoot(Gun gun){
gun.pop();
}
}
class Gun {
// 如果一个字段,只是在本类中使用,那么可以不提供get / set 方法.
private int[] nums = new int[5];// 数组是用来装子弹的, 子弹有子弹号
private int size = 0;// 默认弹夹是空的

public void push(int num){
if(size == 5){
System.out.println("装满了");
return;
}
nums[size] = num;// 先装的,子弹索引在前
size++;
System.out.println("压子弹,子弹型号为" + num);// 打印第几颗,以及子弹号

}
public void pop(){
if(size == 0){
System.out.println("没有子弹了");
return;
}
System.out.println("射击子弹, 子弹型号为:" + nums[size-1]);// 从数组中拿子弹.先拿索引小的,因为它先装
size--;
}
}

class test {
public static void main(String[] args){
Person p = new Person();
Gun gun = new Gun();
gun.push(1);
gun.push(2);
gun.push(3);
gun.push(4);
gun.push(5);
gun.push(6);// 第六颗子弹,压不进去
p.shoot(gun);
p.shoot(gun);
p.shoot(gun);
p.shoot(gun);
p.shoot(gun);
p.shoot(gun);// 子弹打完了

}
}



打赏 赞(0)
微信
支付宝
微信二维码图片

微信扫描二维码打赏

支付宝二维码图片

支付宝扫描二维码打赏

大家好!欢迎光临我的博客,在下就是闭月羞花沉鱼落雁才高八斗貌似天仙玉树凌风赛潘安一枝梨花压海棠人送外号上天下地无所不能美貌与智慧并存、古典与活泼的化身~~
觅·You小栈» 模拟一个人开枪射击的过程

版权声明: 本站原创文章,于2016年05月25日由觅·You发布,转载请注明出处

亭边总有花影,与我消遣一段旖旎的小时光

立即查看 联系作者
正在获取,请稍候...
00:00/00:00