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; } //定义方法攻击 //谁攻击谁 //Role r1=new Role(); //Role r2=new Role(); //r1.攻击(r2) //方法调用者去攻击参数 public void attack(Role role){//计算造成的伤害1-20 Random r=new Random(); int hurt=r.nextInt(20)+1; //修改挨打的人的血量 int remainBlood=role.blood-hurt; //对剩余血量做验证,如果是负数,就修改为0 remainBlood=remainBlood<0?0:remainBlood; //this.表示方法的调用者 System.out.println(this.getName()+"打"+role.getName()+"造成了"+hurt+"点伤害,m还剩下"+blood+"点血"); } }中remainBlood什么意思
时间: 2024-03-19 07:41:58 浏览: 17
`remainBlood` 是一个局部变量,用于计算在攻击中被攻击者的剩余血量。在 `int remainBlood=role.blood-hurt;` 这一行代码中,`role.blood` 表示被攻击者的血量,`hurt` 表示造成的伤害,二者相减得到的结果即为剩余血量,赋值给 `remainBlood`。接下来,`remainBlood=remainBlood<0?0:remainBlood;` 这行代码是一个三目运算符,用于对剩余血量进行验证,如果剩余血量小于 0 就修改为 0,否则不做修改。最后,在 `System.out.println(this.getName()+"打"+role.getName()+"造成了"+hurt+"点伤害,m还剩下"+blood+"点血");` 这行代码中,`remainBlood` 没有被使用到。
相关问题
51、(1分)假设我们有以下代码: public class Student private String name; private int id; public Student(String name, int id) this.name name; this.id = id;
这段代码是不完整的,缺少类体部分和构造函数的结束符号。如果我们把类体部分补全,例如:
```
public class Student {
private String name;
private int id;
public Student(String name, int id) {
this.name = name;
this.id = id;
}
}
```
那么这段代码就定义了一个名为Student的类,包含两个私有属性name和id,以及一个公有的构造函数。构造函数接受两个参数name和id,并将它们分别赋值给类的属性name和id。这个类可以用于创建学生对象,每个学生对象都有一个name和一个id属性。
完善下列代码:public class Student { private int id; private String name; private int classId; private int teacherId; // 构造函数、Getter和Setter方法 } public class Class { private int id; private String name; private int teacherId; // 构造函数、Getter和Setter方法 } public class Teacher { private int id; private String name; // 构造函数、Getter和Setter方法 }
下面是完整的代码:
```java
public class Student {
private int id;
private String name;
private int classId;
private int teacherId;
public Student(int id, String name, int classId, int teacherId) {
this.id = id;
this.name = name;
this.classId = classId;
this.teacherId = teacherId;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getClassId() {
return classId;
}
public void setClassId(int classId) {
this.classId = classId;
}
public int getTeacherId() {
return teacherId;
}
public void setTeacherId(int teacherId) {
this.teacherId = teacherId;
}
}
public class Class {
private int id;
private String name;
private int teacherId;
public Class(int id, String name, int teacherId) {
this.id = id;
this.name = name;
this.teacherId = teacherId;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getTeacherId() {
return teacherId;
}
public void setTeacherId(int teacherId) {
this.teacherId = teacherId;
}
}
public class Teacher {
private int id;
private String name;
public Teacher(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
```
在每个类中,我们定义了构造函数和Getter/Setter方法来设置和获取私有变量。这些方法使得我们可以封装这些类并从其他类中访问它们的属性。