编写Java程序,实现对兵营类的封装,将兵营类中的所有属性设置为私有访问权限,方法设置为公有访问权限

简介: 编写Java程序,实现对兵营类的封装,将兵营类中的所有属性设置为私有访问权限,方法设置为公有访问权限

需求说明:

  • 实现对兵营类的封装
  • 将兵营类中的所有属性设置为私有访问权限。
  • 将兵营类中所有属性的赋值方法设置为公有访问权限。
  • 要求兵营名称的长度在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());
  }
}



相关文章
|
25天前
|
Java 开发工具
【Azure Storage Account】Java Code访问Storage Account File Share的上传和下载代码示例
本文介绍如何使用Java通过azure-storage-file-share SDK实现Azure文件共享的上传下载。包含依赖引入、客户端创建及完整示例代码,助你快速集成Azure File Share功能。
305 4
|
1月前
|
安全 Java
Java异常处理:程序世界的“交通规则
Java异常处理:程序世界的“交通规则
297 98
|
2月前
|
存储 Java 编译器
对比Java学习Go——程序结构与变量
本节对比了Java与Go语言的基础结构,包括“Hello, World!”程序、代码组织方式、入口函数定义、基本数据类型及变量声明方式。Java强调严格的面向对象结构,所有代码需置于类中,入口方法需严格符合`public static void main(String[] args)`格式;而Go语言结构更简洁,使用包和函数组织代码,入口函数为`func main()`。两种语言在变量声明、常量定义、类型系统等方面也存在显著差异,体现了各自的设计哲学。
|
3月前
|
人工智能 监控 安全
智慧工地解决方案,java智慧工地程序代码
智慧工地系统融合物联网、AI、大数据等技术,实现对施工现场“人、机、料、法、环”的全面智能监控与管理,提升安全、效率与决策水平。
120 2
|
3月前
|
存储 安全 Java
java: 无法访问org.springframework.ldap.core.LdapTemplate
java: 无法访问org.springframework.ldap.core.LdapTemplate
121 9
|
1月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
119 1
|
1月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
135 1