Java —— 有关存储学生信息数组的操作

2023-10-26


//class Test

public class Test {  
  
    public static void main(String[] args) {  
        // TODO Auto-generated method stub  
        Student s;  
        s = new Student("Beyond",2000272823);  
        System.out.println(s.toString());  
        System.out.println();  
        StudentsManagement p = new StudentsManagement();  
        System.out.println("The none List is: ");  
        p.printStudentsInfo();  
        p.addAnewStudent("Beyond",2001232625);  
        p.addAnewStudent("TopC",2001232625);  
        p.addAnewStudent("Sam",2000272823);
        System.out.println("The "+p.getNbStudents()+" objects of List is:");  
        p.printStudentsInfo();  
        System.out.println("After remove the List is :");  
        p.removeAStudent(2001232625);  
        p.printStudentsInfo();
        
    }  
}  



// class StudentsManagement

public class StudentsManagement {  
  
    private Student[] students;  
    private int nbStudents;  
      
    public StudentsManagement(){  
        nbStudents = 0;  
        students = new Student[100];  
    }  
    public void addAnewStudent(String name,int number){  
        Student s = new Student(name,number); 
        int index = searchAstudent(number);
        if(index >= 0){
        	
        	System.out.println("A student already has this student number: "
        			+number);
        }
        else{
        	students[nbStudents] = s;  
        	++ nbStudents; 
        }
    }  
    
    public void removeAStudent(int number){  
        
        // The operator of remove
    	int index = searchAstudent(number);
        if(index == nbStudents-1){  
            nbStudents --;
        }
        else if(index < nbStudents - 1){  
            for(int i = index; i<nbStudents-1; i++){  
                students[i] = students[i+1];  
            }  
            nbStudents --;  
        }  
    }     
    
    // Search the Student whose number is number
    public int searchAstudent(int number){
    	
    	int index = -1;  
        for(int i = 0; i<nbStudents; i++){  
            if(students[i].getNumber() == number){  
//              Student d = students[i];  
//              students.remove(d);  
//              students[i] = null;  
                index = i;  
                break;  
            }  
        }  
        return index;
    }
    
    
      
    public void printStudentsInfo(){  
        if(nbStudents == 0) return ;  
        for(int i = 0; i<nbStudents; i++){  
            System.out.println(students[i]);  
        }  
        System.out.println();  
    }  
      
    public int getNbStudents() {  
        return nbStudents;  
    }  
    public void setNbStudents(int nbStudents) {  
        this.nbStudents = nbStudents;  
    }  
      
}  


//class Student

public class Student extends Person{  
      
    private int number;  
      
    //Default constructor  
    public Student(){  
        System.out.println("I am subclass constructor.");  
    }  
      
    public Student(String name,int number){  
//      super.setName(name);  
        super(name);  
        this.number = number;  
          
    }  
    public String toString(){  
        return "The name of this student is: "+super.getName()+".       And the number is: "+number;  
    }  
    //Accessor methods (get/set)  
    public int getNumber() {  
        return number;  
    }  
  
    public void setNumber(int number) {  
        this.number = number;  
    }  
}  


//class Person

public class Person {  
  
    private String name;  
      
    //Default constructor  
    public Person(){  
        System.out.println("I am the superclass constructor.");  
    }  
      
    public Person(String name){  
        this.name = name;  
    }  
    //Accessor methods (get/set)  
    public String getName() {  
        return name;  
    }  
  
    public void setName(String name) {  
        this.name = name;  
    }  
}  



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java —— 有关存储学生信息数组的操作 的相关文章

  • Dueling DQN的理论基础及其代码实现【Pytorch + Pendulum-v0】

    Dueling DQN 理论基础 Dueling DQN是一种基于DQN的改进算法 它的主要突破点在于利用模型结构将值函数表示成更细致的形式 使得模型能够拥有更好的表现 首先我们可以给出如下公式并定义一个新变量 q s t
  • mysql二进制升级_MySQL入门02-MySQL二进制版本快速部署

    在上篇文章 MySQL入门01 MySQL源码安装 中 我们介绍了MySQL源码安装的方法 源码安装虽然有着更加灵活和更加优化等诸多优势 但源码编译安装部署的过程相对复杂 而且整个过程所花费的时间很长 对于一整套系统和硬件完全一样的机器 其
  • 解决C#连接Mongo报Unable to authenticate using sasl protocol mechanism SCRAM-SHA-1错误

    最近做一个基于ABP的 net Core的项目 数据库选了MongoDB 但是返现无法给数据库设置认证 只要设置了账号密码连接就报错 连接串如下 mongodb root rootpassword 192 168 100 1 Webdev
  • springmvc + freemarker +sitemesh

    这 都加起来 很难 网上没有解决方案 用了一天才把环境搭起来 记录如下 先把springmvc 在 web xml上的配置
  • lol服务器维护8月7,lol维护公告最新_lol8月29日维护公告_lol今天维护到几点

    lol今天几点维护到几点 lol最新版本维护公告 想要详细了解的玩家快来跟着小编一起来看看吧 lol维护到几点 什么时候可以登录 此次更新是全服维护 从5点持续到12点 当然最终几点可以登录一般有30分钟的偏差 所以最迟预计12 30可以维
  • SQLite error,no such table的处理方法

    由于程序的启动目录是你的 bin Debug 目录 所以你如果将你的数据库 没有放到目录下的话 就会出现找不到表的情况 但是为什么 不是找不到 数据库呢 这是因为程序在运行的时候 应该自动将数据库资源拷贝到相应的 bin Debug 目录下
  • 【C++技能树】手撕AVL树 --插入与旋转详解

    Halo 这里是Ppeua 平时主要更新C 数据结构算法 Linux与ROS 感兴趣就关注我bua 文章目录 0 平衡搜索二叉树概念 0 1 平衡因子 1 插入 1 1 普通插入操作 1 2更新平衡因子 2 旋转 2 1 左单旋 2 2 右
  • 第164天:应急响应-挖矿脚本检测指南&威胁情报&样本定性&文件清除&入口修复

    知识点 知识点 网页篡改与后门攻击防范应对指南 主要需了解 异常特征 处置流程 分析报告等 主要需了解 日志存储 Webshell检测 分析思路等 掌握 中间件日志存储 日志格式内容介绍 IP UA头 访问方法 请求文件 状态码等 Webs
  • Mysql使用USE INDEX()优化查询

    语法 SELECT FROM TABLE USE IGNORE FORCE INDEX key list WHERE USE INDEX 用来提供你希望Mysql去参考的索引列表 就可以让Mysql不再考虑使用其他可用的索引 IGNORE
  • CGAL的使用

    1 C 类的知识 因为CGAL是用C 实现的 所以需要先了解一下C 编程 C 是面向对象的编程 这也是C 对C语言改进的最重要的部分 C 也被叫做是 带类的 C 简单讲一下类的构成 成员函数以及对象的定义和使用 1 1 C 类的构成 首先从
  • PAT C入门题目-7-124 天梯赛座位分配 (20 分)(动态内存分配)

    7 124 天梯赛座位分配 20 分 天梯赛每年有大量参赛队员 要保证同一所学校的所有队员都不能相邻 分配座位就成为一件比较麻烦的事情 为此我们制定如下策略 假设某赛场有 N 所学校参赛 第 i 所学校有 M i 支队伍 每队 10 位参赛
  • 【自学Linux】 Linux文件目录结构

    Linux文件目录结构 Linux文件目录结构教程 在 Linux 中 有一个很经典的说法 叫做一切皆文件 因此 我们在系统学习 Linux 之前 首先要了解 Linux 的文件目录结构 Linux 主要的目录有三大类 即根目录 usr 目
  • Tracy vue3 小笔记 1 - 如何使用 VUE, MVC, MVVM, Template, Vue 源码

    Vue Demo code 计数器那么安装和使用Vue这个JavaScript库有哪些方式呢 方式一 在页面中通过CDN的方式来引入 方式二 下载Vue的JavaScript文件 并且自己手动引入 方式三 通过npm包管理工具安装使用它 w
  • 智能输液系统(STM32+ESP8266-01S+阿里云+安卓APP)

    下位机 阿里云 APP 下位机流转上位机
  • 2021-08-19-leetcode-00001

    二分查找 704 给定一个 n 个元素有序的 升序 整型数组 nums 和一个目标值 target 写一个函数搜索 nums 中的 target 如果目标值存在返回下标 否则返回 1 278 你是产品经理 目前正在带领一个团队开发新的产品
  • Linux 学习笔记3 权限管理 定时任务 网络配置 进程、软件包管理

    权限管理 linux组的介绍 在linux中的每个用户必须属于一个组 不能独立于组外 在linux中每个文件有所有者 所在组 其它组的概念 1 所有者 2 所在组 3 其它组 4 改变用户所在的组 文件 目录所有者 一般为文件的创建者谁创建
  • kettle进阶之database join

    前言 这并不是一篇入门教学 且不是一篇高阶教学 仅仅针对kettle的database join 那么问题来了 kettle的database join是什么 简而言之 不同库之间sql语句传值 个人自定义 如有不当 请海涵 案例1 一条数
  • SQL Server 集合处理

    UNION ALL 返回两个结果集中所有的行 返回结果集中会存在重复行 UNION 返回两个结果集中去重的行 返回结果集中无重复行 INTERSECT 返回两个结果集都有的行 返回结果集中无重复行 EXCEPT 返回第一个结果集中有而第二个
  • vuex与生命周期的关系

    vue与生命周期的关系 问题呈现 获取到数据同时保存到vuex中 2 计算属性获取vuex中的值 3 循环输出 4 出现错误 问题解析 如果单独输出item questionSimpleInfo是可以输出整个对象的 但是输出其中某一个字段的

随机推荐

  • 论文阅读-Thinking in Frequency: Face Forgery Detection by Mining Frequency-aware Clues(F3Net基于频率感知线索的人脸)

    一 论文信息 题目 Thinking in Frequency Face Forgery Detection by Mining Frequency aware Clues 基于频率感知线索的人脸伪造检测 作者团队 会议 ECCV 2020
  • Markdown矩阵及公式语法编辑

    Markdown矩阵及公式语法编辑 详见链接 https cloud tencent com developer article 1402840
  • 9. xaml ComboBox控件

    1 运行图像 2 运行源码 a Xaml源码
  • C++中虚函数、虚指针和虚表详解

    关于虚函数的背景知识 用virtual关键字申明的函数叫做虚函数 虚函数肯定是类的成员函数 存在虚函数的类都有一个一维的虚函数表叫做虚表 每一个类的对象都有一个指向虚表开始的虚指针 虚表是和类对应的 虚表指针是和对象对应的 多态性是一个接口
  • Windows CMD 输出文本到文件,不加换行符

    gt test txt set p Hello
  • 共筑安全创新生态,持安科技加入麒麟软件安全生态联盟

    近日 麒麟软件安全生态联盟第二季度工作会议成功举行 零信任办公安全领域明星企业持安科技受邀参会 并参与授牌环节成为麒麟软件安全生态联盟会员单位 麒麟软件安全生态联盟授牌仪式 会上 联盟成员单位围绕操作系统安全事件与漏洞发展趋势 行业应用对操
  • Beego v2.0 编译后无法运行问题

    问题 beego版本 v2 0 1 通过bee pack be GOOS linux 打包后运行可执行程序报错 如下 panic err go command required not found exec go executable fi
  • Vue+Element-ui Table 列求和

    Vue Element ui Table 列求和 Vue代码 求和getSummaries 效果图 Vue代码
  • [GameFramework分析] Log(日志)

    文章目录 使用 分析 Unity脚本 Log LogScriptingDefineSymbols ScriptingDefineSymbols DefaultLogHelper 框架类 GameFrameworkLogLevel GameF
  • graylog日志分析管理系统入门教程

    日志分析系统可以实时收集 分析 监控日志并报警 当然也可以非实时的分析日志 splunk是功能强大且用起来最省心的 但是要收费 免费版有每天500M的限制 超过500M的日志就没法处理了 ELK系统是最常见的 缺点是配置麻烦一些 比较重量级
  • MySQL之InnoDB引擎(一)

    1 InnoDB介绍 InnoDB是一个通用的存储引擎 同时具备高可靠性与高性能的特性 除非用户指定存储引擎的类型 否则其作为MySQL Server的默认存储引擎 使用InnoDB存储引擎的优势包括如下几点 DML操作符合ACID模型 使
  • 编码技巧——事务提交后执行

    日常开发中 一些诸如 先读后写 先写A再写B 先写A再执行B 的场景 一般都会用到事务 这里的事务指的是本地事务 如果涉及RPC 一般我们通过异步补偿来保证最终一致性 本篇例举2个使用事务 先写A再执行B 的场景 1 订单场景 1 处理支付
  • MeshTextPro 自动换行和自动缩放问题

    如果启用了autosize MeshTextPro会优先显示完一个单词之后才会进行换行 当此时如果一个单词过于场的话 MeshTextPro会对其进行缩放 直至当前行可以显示完整单词之后 在进行换行处理 如果需要自动缩放 但是又想其填满一行
  • 一文读懂元宇宙--元宇宙含义

    元宇宙是 虚实融合的世界 包含模拟现实的虚拟世界 创新的虚拟世界 现实世界 也是元宇宙的一部分 虚拟和现实世界的融合 将高于 超越单一的虚拟或者现实世界 虚实融合的世界 图片来源于德勤 元宇宙的四层含义 图片来源于德勤 1 1 模拟现实的虚
  • 神经网络(三)—— 神经元多输出

    本系列为慕课网 深度学习之神经网络 CNN RNN GAN 算法原理 实战 视频笔记 希望自己能通过分享笔记的形式更好的掌握该部分内容 往期回顾 神经网络 一 机器学习 深度学习简介 神经网络 二 神经元 Logistic回归模型 多分类的
  • 优化算法 - RMSProp算法

    文章目录 RMSProp算法 1 算法 2 从零开始实现 3 简洁实现 4 小结 RMSProp算法 1 算法 import math import torch from d2l import torch as d2l d2l set fi
  • APP版本升级与服务器交互

    踏入程序媛旅程已经快一年了 学生生涯也即将结束 正式踏入工作岗位 万事开头难 只能多问多记 久病成医 遇到的问题多了自己的技术也会有所提高 博客也一年了 之前一直想写博 然后各种拖延 到现在才开始 希望自己能坚持 项目中加了一个APP版本升
  • 一种基于深度学习的全自动纸心电图数字化算法

    深度学习在医学检测仪方面的应用 人们越来越关注将深度学习方法应用于心电图 ECG 最近的研究表明 神经网络 NN 可以仅通过 ECG 预测未来的心力衰竭或心房颤动 然而 神经网络的训练需要大量的心电图 而目前很多心电图只是纸质的 不适合神经
  • win10安装pycocotools遇到的问题(gcc.exe failed with exit status 1)

    背景安装pycocotools一直过不去 一直报错 PS C Users peter gt pip install git https github com philferriere cocoapi git subdirectory Pyt
  • Java —— 有关存储学生信息数组的操作

    class Test public class Test public static void main String args TODO Auto generated method stub Student s s new Student