练习一:文字版格斗游戏

需求:

格斗游戏,每个游戏角色的姓名,血量,都不相同,在选定人物的时候(new对象的时候),这些信息就应该被确定下来。

举例:

程序运行之后结果为:

姓名为:乔峰 血量为:100

姓名为:鸠摩智 血量为:100

乔峰举起拳头打了鸠摩智一下,造成了XX点伤害,鸠摩智还剩下XXX点血。

鸠摩智举起拳头打了鸠摩智一下,造成了XX点伤害,乔峰还剩下XXX点血。

乔峰举起拳头打了鸠摩智一下,造成了XX点伤害,鸠摩智还剩下XXX点血。

鸠摩智举起拳头打了鸠摩智一下,造成了XX点伤害,乔峰还剩下XXX点血。

乔峰K.O.了鸠摩智

代码示例:

练习二:文字版格斗游戏进阶

在上一个的基础上,我想看到人物的性别和长相,打斗的时候我想看到武功招式。

举例:

程序运行之后结果为:

姓名为:乔峰 血量为:100 性别为:男 长相为:气宇轩昂

姓名为:鸠摩智 血量为:100 性别为:男 长相为:气宇轩昂

乔峰使出了一招【背心钉】,转到对方的身后,一掌向鸠摩智背心的灵台穴拍去。给鸠摩智造成一处瘀伤。

鸠摩智使出了一招【游空探爪】,飞起身形自半空中变掌为抓锁向乔峰。结果乔峰退了半步,毫发无损。

。。。。

乔峰K.O.了鸠摩智

分析:

长相是提前定义好的,提前放在一个数组当中,程序运行之后,从数组中随机获取。

武功招式也是提前定义好的,提前放在一个数组当中,程序运行之后,从数组随机获取

受伤的提前也是提前定义好的,只不过不是随机了,根据剩余血量获取不同的描述

其中输出语句跟以前不一样了,用的是System.out.printf();该输出语句支持%s占位符

最终代码示例:

练习三:对象数组(商品)

需求:

定义数组存储3个商品对象。

商品的属性:商品的id,名字,价格,库存。

创建三个商品对象,并把商品对象存入到数组当中。

代码示例:

练习四:对象数组(汽车)

需求:

定义数组存储3部汽车对象。

汽车的属性:品牌,价格,颜色。

创建三个汽车对象,数据通过键盘录入而来,并把数据存入到数组当中。

代码示例:

练习五:对象数组(手机)

需求 :

定义数组存储3部手机对象。

手机的属性:品牌,价格,颜色。

要求,计算出三部手机的平均价格

代码示例:

练习六:对象数组(女朋友)

需求:

定义数组存储4个女朋友的对象

女朋友的属性:姓名、年龄、性别、爱好

要求1:计算出四女朋友的平均年龄

要求2:统计年龄比平均值低的女朋友有几个?并把她们的所有信息打印出来。

代码示例:

练习七:复杂的对象数组操作

定义一个长度为3的数组,数组存储1~3名学生对象作为初始数据,学生对象的学号,姓名各不相同。

学生的属性:学号,姓名,年龄。

要求1:再次添加一个学生对象,并在添加的时候进行学号的唯一性判断。

要求2:添加完毕之后,遍历所有学生信息。

要求3:通过id删除学生信息

如果存在,则删除,如果不存在,则提示删除失败。

要求4:删除完毕之后,遍历所有学生信息。

要求5:查询数组id为“heima002”的学生,如果存在,则将他的年龄+1岁

代码示例: