目录
一.文字格斗游戏
二.对象数组
三.键盘录入练习
四.复杂对象数组练习
题目要求:
一.文字格斗游戏
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岁