目录

一.文字格斗游戏

二.对象数组

三.键盘录入练习

四.复杂对象数组练习

题目要求:


一.文字格斗游戏

Role类的代码

package Game;import java.util.Random;public class Role {String name;int blood;public Role() {}public Role(String name, int blood) {this.name = name;this.blood = blood;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getBlood() {return blood;}public void setBlood(int blood) {this.blood = blood;}//通过一个方法来表示攻击public void attack(Role role){//造成伤害这种成随机值Random r = new Random();int hurt = r.nextInt(30)+1;//剩余血量int remainblood = role.getBlood() - hurt;//判断血量是否为0,避免出现<0的数,不合逻辑remainblood = remainblood < 0 ? 0 : remainblood;//调整血量role.setBlood(remainblood);System.out.println(this.getName() + "打了"+ role.getName() +"一拳,给" +role.getName()+ "造成了" + hurt + "点伤害," +role.getName() + "还剩余" +remainblood+ "点血量");}
}

游戏测试的代码

package Game;public class GameTest {public static void main(String[] args) {Role r1 = new Role("马大师",100);Role r2 = new Role("年轻人",100);while(true){r1.attack(r2);if(r2.getBlood() == 0){System.out.println(r1.getName()+"K.O了"+r2.getName());System.out.println(r1.getName()+":年轻人,还得多练练");break;}r2.attack(r1);if(r1.getBlood() == 0){System.out.println(r2.getName()+"K.O了"+r1.getName());System.out.println(r2.getName()+": 这已经是年轻人的天下了");System.out.println(r1.getName()+": 年轻人,不讲武德,搞偷袭");break;}}}}

运行结果展示:

二.对象数组

创建一个商品类

package Game;public class Goods {int id;String name;double price;int cont;public Goods() {}public Goods(int id, String name, double price, int cont) {this.id = id;this.name = name;this.price = price;this.cont = cont;}
}
package Game;public class GoodsTest {public static void main(String[] args) {//创建数组用来存储3个对象Goods[] arr = new Goods[3];//创建3个对象Goods g1 = new Goods(001, "iqoo", 3299.98, 300);Goods g2 = new Goods(002, "红米耳机", 199.0, 500);Goods g3 = new Goods(003, "联想小新", 5299.98, 100);//将对象存进数组arr[0] = g1;arr[1] = g2;arr[2] = g3;//验证是否存储成功//遍历for (int i = 0; i < arr.length; i++) {System.out.println("id:"+ arr[i].id+" 商品名称:"+arr[i].name+" 商品价格:"+arr[i].price+" 库存:"+arr[i].cont);}}
}

三.键盘录入练习

1.基础了解:

nextInt();接收整数

nextDouble();接收小数

next();接收字符串

(遇到空格,制表符(\t),回车就不会继续接收数据了)

练习内容:创建三个汽车对象,数据通过键盘录入,并把数据存入数组中

创建汽车类的代码

package Dome;public class Car {private String name;private int price;private String color;public Car() {}public Car(String name, int price, String color) {this.name = name;this.price = price;this.color = color;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getPrice() {return price;}public void setPrice(int price) {this.price = price;}public String getColor() {return color;}public void setColor(String color) {this.color = color;}
}

检测的代码

package Dome;import java.util.Scanner;public class CarTest {public static void main(String[] args) {//创建一个数组Car[] arr = new Car[3];//Scanner s = new Scanner(System.in);//创建三个对象for (int i = 0; i < arr.length; i++) {Car c = new Car();System.out.println("请输入汽车的品牌名称");String name = s.next();c.setName(name);System.out.println("请输入汽车的价格");int price = s.nextInt();c.setPrice(price);System.out.println("请输入汽车的颜色");String color = s.next();c.setColor(color);//将对象存储到数组中arr[i] = c;}//遍历for (int i = 0; i < arr.length; i++) {System.out.println("汽车的品牌是:"+arr[i].getName()+" 汽车的价格是:"+arr[i].getPrice()+" 汽车的颜色是:"+arr[i].getColor());}}
}

结果展示:

四.复杂对象数组练习

题目要求:

定义一个长度为3的数组,数组存储1~3名学生对象作为初始数据,学生对象的学号,姓名各不相同.
学生的属性:学号,姓名,年龄。
要求1:再次添加一个学生对象,并在添加的时候进行学号的唯一性判断。
要求2:添加完毕之后,遍历所有学生信息。
要求3:通过id删除学生信息
如果存在,则删除,如果不存在,则提示删除失败
要求4:删除完毕之后,遍历所有学生信息。要求5:查询数组id为“heima002”的学生,如果存在,则将他的年龄+1岁

Java#9(文字格斗游戏和对象数组练习)相关推荐

  1. Java书写文字格斗游戏

    Java学习 - 书写文字格斗游戏 效果截图: package com.itheima.test2;public class GameTest {public static void main(Str ...

  2. 文字格斗游戏2.0(随机数值)

    ps:小白分享学习java的第五天 之前发的一个文字格斗游戏,姓名和血量都是固定的,而且都是谁打了谁一下,太无聊了. 经过我日复一夜不停的学习,终于学会了,然后给他优化了: 1.加上了功夫招式: 2. ...

  3. java list数组排序_浅谈对象数组或list排序及Collections排序原理

    常需要对list进行排序,小到List,大到对自定义的类进行排序.不需要自行归并或堆排序.简单实现一个接口即可. 本文先会介绍利用Collections对List进行排序,继而讲到Collection ...

  4. java数组里套数组_用JAVA进行Json数据解析(对象数组的相互嵌套)

    这段时间我们在做一个英语翻译软件的小小小APP,涉及到了对Json数据的解析,所以特地来总结一下! 假设我们要对如下数据进行解析,其实在平时,返回的Json数据是很乱的,很难分清数据的关系,这是经过相 ...

  5. 面向对象练习-简易版文字格斗游戏

    题目来源: https://www.bilibili.com/video/BV17F411T7Ao?p=91&vd_source=45bbb703a417550ebf434e539410a70 ...

  6. 14、Java——迷你图书管理器(对象+数组)

    ✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进.

  7. java实现rts_java – RTS游戏中对象的多态性和类层次结构问题

    Movable,Attackable是对象的各种可能行为,因此它们更适合作为接口. 至于这些行为的实现 – 为了解决重复代码的问题,你可以为每个行为设置单独的类 – 让它们命名为服务 – 例如. Mo ...

  8. Vue中JS遍历后台JAVA返回的Map数据,构造对象数组数据格式

    场景 SpringBoot+Vue+Echarts实现选择时间范围内数据加载显示柱状图: SpringBoot+Vue+Echarts实现选择时间范围内数据加载显示柱状图_BADAO_LIUMANG_ ...

  9. 关于Java对象数组赋值的问题

    在写Java大作业时需要对对象数组赋值,而我的程序在赋值完后,我发现对象数组中的每个对象都相同. 定义对象数组 读取文件中的数据,设置一个临时变量stu储存每一个对象的信息并赋值 上诉代码每次赋完值后 ...

最新文章

  1. 机器学习视频第二章2
  2. 【竞赛相关】Kaggle活跃竞赛的最新汇总
  3. c# mysql app.config_60. C# -- 读取 appconfig文件配置数据库连接的方法
  4. FreeBSD 10 将使用 Clang 编译器替换 GCC
  5. java实现条形图,JavaFX条形图
  6. 实现算法2.11、2.12的程序
  7. [国嵌攻略][038][时钟初始化]
  8. webAppbuilder微件使用教程3 地理处理微件
  9. 如何实现音频合成立体声录制?
  10. 随身助手271个可用api接口网站php源码(随身助手API)
  11. arduino下载库出错_关于程序下载到最后卡住了以及自带库不能用的问题!!
  12. ToStringBuilder用法
  13. 【搬运】不思议的小故事,其实舰娘们也是有灵性的
  14. 电话录音系统服务器 显示断线,电话录音系统不稳定解决方法?
  15. 华擎J3455-ITX黑群晖6.2.3-25426搭建
  16. php 分页查询,php实现分页查询的方法
  17. 工业测试软件技术指标,工业过程难测参数软测量建模方法研究及应用
  18. 天龙八部服务器端 修改缥缈峰副本,天龙八部手游缥缈峰副本怎么过 缥缈峰副本过关攻略...
  19. 国庆假期,人在囧途,感慨颇多
  20. 智力测验题(面试用)

热门文章

  1. nfs +nis+ssh(2)
  2. 大数据早报:西安电子科技大学成立部属全国高校首个人工智能学院; 三星与京东达成合作,用AI等技术为消费者带来创新购物体验(11.10)
  3. AR技术在智慧城市交通规划中的作用分析
  4. 敬业签苹果ios手机便签APP怎么上传文件附件?
  5. python执行excel公式 语法_10个方法:用Python执行SQL、Excel常见任务
  6. matlab仿真条纹光照阴影,正常光照条件下全工况光伏阵列通用Matlab/Simulink仿真模型...
  7. 渐开线变位圆柱外斜齿轮的几何测绘
  8. L1-069 胎压监测
  9. 一种TPMS胎压传感器工作模式介绍--汽车胎压监测方案
  10. 网格顶点方向的计算(一种新的面积加权方法)