返回本章节
返回作业目录
需求说明:
- 实现对兵营类的封装
- 将兵营类中的所有属性设置为私有访问权限。
- 将兵营类中所有属性的赋值方法设置为公有访问权限。
- 要求兵营名称的长度在4~8位之间。
- 要求兵营士兵的人数在100~500之间。
实现思路:
封装兵营类的实现思路如下:
- 将 Barracks 类中所有的属性均定义为私有访问权限。
- 将已经创建的士兵总数count属性定义为静态变量,在Barracks类中定义大小为3的兵营对象数组变量bksarray。
- 在 setName()方法中,对用户输入的兵营名称的长度进行校验。如果输入的名称合法,将继续进行下一步的操作;否则系统给出友好提示信息,要求用户重新输入。
- 在setSelfCount()方法中,完成对用户输入的当前兵营已创建士兵的数量进行合理的校验。如果输入的信息不符合系统要求,则系统给出友好提示信息,要求用户重新输入。
实现代码:
Barracks 类
import java.util.Scanner;
public class Barracks {
private String name;//兵营名字
private int selfCount;//士兵数量
public void setName(String name) {
if (name.length()<8&&name.length()>4) {
this.name = name;
} else {
System.out.println("兵营名称的长度在4~8位之间");
}
}
public void setSelfCount(int selfCount) {
if (selfCount>100&&selfCount<500) {
this.selfCount = selfCount;
}else {
System.out.println("兵营士兵的人数在100~500之间");
}
}
public String getName() {
return this.name;
}
public int getSelfCount() {
return selfCount;
}
}
Test 类
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Barracks0 b = new Barracks0();
System.out.println("请输入兵营名称:");
b.setName(sc.next());
System.out.println("请输入兵营人数:");
b.setSelfCount(sc.nextInt());
System.out.println("兵营名称:"+b.getName());
System.out.println("兵营人数:"+b.getSelfCount());
}
}