编写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());
  }
}



相关文章
|
2月前
|
Java 流计算
利用java8 的 CompletableFuture 优化 Flink 程序
本文探讨了Flink使用avatorscript脚本语言时遇到的性能瓶颈,并通过CompletableFuture优化代码,显著提升了Flink的QPS。文中详细介绍了avatorscript的使用方法,包括自定义函数、从Map中取值、使用Java工具类及AviatorScript函数等,帮助读者更好地理解和应用avatorscript。
利用java8 的 CompletableFuture 优化 Flink 程序
|
2天前
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
22天前
|
JSON 前端开发 JavaScript
Java属性为什么不能是is开头的boolean
在Java实体类中,阿里规约要求boolean属性不应以is开头。文章通过实际案例分析了isUpdate字段在JSON序列化过程中变为update的问题,并提供了自定义get方法或使用@JSONField注解两种解决方案,建议遵循规约避免此类问题。
Java属性为什么不能是is开头的boolean
|
1月前
|
IDE Java 编译器
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
72 1
|
2月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
91 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
27天前
|
SQL 安全 Java
Java 异常处理:筑牢程序稳定性的 “安全网”
本文深入探讨Java异常处理,涵盖异常的基础分类、处理机制及最佳实践。从`Error`与`Exception`的区分,到`try-catch-finally`和`throws`的运用,再到自定义异常的设计,全面解析如何有效管理程序中的异常情况,提升代码的健壮性和可维护性。通过实例代码,帮助开发者掌握异常处理技巧,确保程序稳定运行。
40 0
|
2月前
|
Java Linux iOS开发
如何设置 Java 的环境变量
设置Java环境变量是使用Java开发工具和运行Java程序的前提。主要步骤包括:安装JDK,配置系统环境变量中的JAVA_HOME、PATH和CLASSPATH,确保命令行可直接调用javac和java命令。
71 6
|
2月前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
228 2
|
3月前
|
Java 编译器
封装,继承,多态【Java面向对象知识回顾①】
本文回顾了Java面向对象编程的三大特性:封装、继承和多态。封装通过将数据和方法结合在类中并隐藏实现细节来保护对象状态,继承允许新类扩展现有类的功能,而多态则允许对象在不同情况下表现出不同的行为,这些特性共同提高了代码的复用性、扩展性和灵活性。
封装,继承,多态【Java面向对象知识回顾①】
|
2月前
|
安全 Java Linux
java程序设置开机自启
java程序设置开机自启
159 1