news 2026/5/1 5:43:25

学习日记day8-面向对象实例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
学习日记day8-面向对象实例

1.文字版格斗游戏

JavaBean类 package Game; import java.util.Random; public class Role { private String name; private 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(20) + 1; //修改挨揍的人血量 int remainBlood = role.getBlood() - hurt; remainBlood = remainBlood < 0 ? 0 : remainBlood; role.setBlood(remainBlood); System.out.println(this.getName() + "打了" + role.getName() + "一下, " + "造成了" + hurt +"点伤害, " + role.getName() + "还剩下" + remainBlood + "点血"); } }
测试类 package Game; public class GameTest { public static void main(String[] args) { //创建两个角色 Role r1 = new Role("C", 100); Role r2 = new Role("D", 100); //开始格斗 while(true){ //r1开始攻击r2 r1.attack(r2); if(r2.getBlood() == 0){ System.out.println(r1.getName()+" K.O了" + r2.getName()); break; } r2.attack(r1); if(r1.getBlood() == 0){ System.out.println(r2.getName()+" K.O了" + r1.getName()); break; } } } }

2.对象数组练习

1.

JavaBean类 package game2; public class Goods { private String id; private String name; private double price; private int count; public Goods(){ } public Goods(String id, String name, double price, int count){ this.id = id; this.name = name; this.price = price; this.count = count; } public void setId(String id){ this.id = id; } public String getId(){ return id; } public void setName(String name){ this.name = name; } public String getName(){ return name; } public void setPrice(double price){ this.price = price; } public double getPrice(){ return price; } public void setCount(int count){ this.count = count; } public int getCount(){ return count; } }
注:这里不能直接打印数组,打出来是数组元素的地址值,必须用定义的Goods重新定义数据接收数组内容

并不是二维数组,而是数组中存放的是地址,该地址存放具体的信息

测试类 package game2; public class GoodsTest { public static void main(String[] args) { //创建数组 Goods[] arr = new Goods[3]; //创建三个对象 Goods g1 = new Goods("001", "华为P40" , 5999.0, 100); Goods g2 = new Goods("002", "保温杯" , 227.0, 50); Goods g3 = new Goods("003", "枸杞" , 12.7, 70); //把商品添加到数组中 arr[0] = g1; arr[1] = g2; arr[2] = g3; //遍历 for (int i = 0; i < arr.length; i++) { Goods goods = arr[i]; // 注:这里不能直接打印数组,打出来是数组元素的地址值 // 必须用定义的Goods重新定义数据接收数组内容 System.out.println(goods.getId() + ", " + goods.getName() + ", " + goods.getPrice() + ", " + goods.getCount()); } } }

2.

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/27 23:39:08

vue基于Spring Boot框架的高校学生宿舍报修系统_410wuw98_

目录 具体实现截图项目介绍论文大纲核心代码部分展示项目运行指导结论源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作 具体实现截图 本系统&#xff08;程序源码数据库调试部署讲解&#xff09;同时还支持java、ThinkPHP、Node.js、Spring…

作者头像 李华
网站建设 2026/4/27 18:48:06

重学计算机基础012:x86架构32位通用寄存器——CPU的“核心数据操作台”,底层编程的基石

上一章我们搞懂了总线的底层逻辑&#xff0c;知道它是计算机各组件数据传输的“高速公路网”。而数据传输的核心目的地之一&#xff0c;就是CPU内部的通用寄存器——它们是CPU处理数据的“贴身操作台”&#xff0c;所有运算、数据暂存、地址定位都围绕它们展开。 在众多CPU架构…

作者头像 李华
网站建设 2026/4/23 11:23:29

cmd powershell svm nodejs npm

一、cmd 和 powershell cmd&#xff1a;基于旧的 MS-DOS 命令接口&#xff0c;使用批处理语言&#xff08;Batch&#xff09;powershell&#xff1a;基于 .NET 框架&#xff0c;使用 PowerShell 脚本语言&#xff08;基于 AST&#xff0c;更强大&#xff09; 一句话简单总结&a…

作者头像 李华
网站建设 2026/4/30 6:02:18

UDP网络巩固知识基础题(3)

1. UDP协议在IPv4和IPv6中的头部长度分别是多少字节? A. 8字节,8字节 B. 8字节,40字节 C. 20字节,40字节 D. 8字节,20字节 答案:A 解析: UDP协议本身的头部长度在IPv4和IPv6中都是8字节,不因IP版本而改变。 2. UDP协议的校验和计算在什么情况下是可选的? A. 在所有…

作者头像 李华