该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

开发工具与关键技术:Eclipse、ArrayList

作者:LJR

撰写时间:2020年 08 月08 日

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

定义一个Student类,里面添加:

private String id;

private String name;

private String age;

private String address;

这几个字段,并进行重载,get、set方法

下面是对一些学生数据的小处理:

publicstaticvoid main(String[] args) {

// 创建集合对象,用于存储数据

ArrayList array = new ArrayList();

// 为了能够让程序回来开始继续使用,使用while语句

while (true) {

System.out.println("----欢迎来到学生管理系统------");

System.out.println("1.查看学生");

System.out.println("2.添加学生");

System.out.println("3.删除学生");

System.out.println("4.修改学生");

System.out.println("5.退出");

System.out.println("请输入你的选择:");

Scanner sc = new Scanner(System.in);

String choiceString = sc.nextLine();

switch (choiceString) {

case"1":

// 查看学生

findAllStudent(array);

break;

case"2":

// 添加学生

addStudent(array);

break;

case"3":

// 删除学生

deleteStudent(array);

break;

case"4":

// 修改学生

updateStudent(array);

break;

case"5":

// 退出

default:

System.out.println("谢谢你的使用");

System.exit(0);

break;

}

}

}

// 查询集合;

publicstaticvoid findAllStudent(ArrayList array) {

// 首先判断集合中是否有数据,如果没有数据就输出提示,并不能往下执行

if (array.size() == 0) {

System.out.println("不好意思,目前没有学生信息可供查询,请回去先添加学生信息!");

return;

}

System.out.println("学号 \t姓名\t年龄\t居住地");

for (inti = 0; i < array.size(); i++) {

Student s = array.get(i);

System.out.println(s.getId() + "\t" + s.getName() + "\t" + s.getAge() + "\t" + s.getAddress());

}

}

// 添加学生--已判断学号是否重复

publicstaticvoid addStudent(ArrayList array) {

Scanner sc = new Scanner(System.in);

// 为了ID能被访问到,ID就写在循环外

String id;

// 让代码回到添加学号,循环使用

while (true) {

System.out.println("请输入你的学生号:");

id = sc.nextLine();

// 定义标记

booleanflag = false;

// 遍历每一个集合

for (inti = 0; i < array.size(); i++) {

Student s = array.get(i);

// 获取学生的学号和键盘录入的进行比较

if (s.getId().equals(id)) {

flag = true;

break;

}

}

if (flag) {

System.out.println("你输入的学号已被占用,请重新输入!");

} else {

break;

}

}

System.out.println("请输入你的姓名:");

String name = sc.nextLine();

System.out.println("请输入你的年龄:");

String age = sc.nextLine();

System.out.println("请输入你的地址:");

String address = sc.nextLine();

// 创建学生对象

Student s = new Student();

s.setId(id);

s.setName(name);

s.setAge(age);

s.setAddress(address);

// 把学生对象作为元素添加到集合

array.add(s);

// 输出

System.out.println("添加学生成功!");

}

// 删除学生

publicstaticvoid deleteStudent(ArrayList array) {

// 查找键盘录入的学号,集合存在就进行删除,不存在就提示学生不存在

Scanner sc = new Scanner(System.in);

System.out.println("请输入要删除学生的学号");

String id = sc.nextLine();

intindex = -1;

for (inti = 0; i < array.size(); i++) {

//获取到每一个学生对象

Student s=array.get(i);

//进行比较

if (s.getId().equals(id)) {

index=i;

break;

}

}

if (index==-1) {

System.out.println("学生不存在,请回去重新选择!");

}else {

array.remove(index);

System.out.println("学生删除成功!");

}

}

//修改学生

publicstaticvoid updateStudent(ArrayList array) {

//查询键盘录入的学号是否存在,存在就进行修改

Scanner sc=new Scanner(System.in);

System.out.println("请输入要修改的学号");

String id =sc.nextLine();

intindex=-1;

for (inti = 0; i < array.size(); i++) {

Student s=array.get(i);

if (s.getId().equals(id)) {

index=i;

break;

}

}

if (index==-1) {

System.out.println("不好意思学号不存在,请重新输入!");

}else {

System.out.println("请输入你的姓名:");

String name = sc.nextLine();

System.out.println("请输入你的年龄:");

String age = sc.nextLine();

System.out.println("请输入你的地址:");

String address = sc.nextLine();

Student s=new Student();

s.setId(id);

s.setName(name);

s.setAge(age);

s.setAddress(address);

array.set(index, s);

System.out.println("修改学生成功!");

}

}

最后结果输出是:

----欢迎来到学生管理系统------

1.查看学生

2.添加学生

3.删除学生

4.修改学生

5.退出

选择2进行添加一行数据,然后进行查看。

结果如下:

学号 姓名 年龄 居住地

xs001 学生 01 18 北京

java学生数据存到集合,JAVA之利用集合操作学生数据相关推荐

  1. Java面向过程实现员工管理系统(利用集合存储数据实现员工增删改查排序)

    1.界面: package staffSystem;import java.util.Scanner;/*** 交互界面* @author 123**/ public class Surface {p ...

  2. 2批量批量查询数据插入数据_你还在利用复制批量插入数据吗?一个oracle命令助你批量插入数据...

    大家好,我是RomMr,一个务实的科技人! 你还在用复制.粘贴的办法批量修改数据库数据吗?今天就和大家分享一个可以直接调用文档的命令来帮助大家批量修改,插入数据. 1.start 和 @ 命令 当我们 ...

  3. HTML地址栏传数据和json区别,前端利用formData格式进行数据上传,前端formData 传值 和 json传值的区别?...

    contentType 常见的格式 text/plain :纯文本格式 application/json: JSON数据格式 application/x-www-form-urlencoded 中默认 ...

  4. mysql把游标数据存入表中_利用Python爬股票数据并存入数据库Mysql

    直接上代码,小白也能爬股票......... import tushare as ts import mysql.connector import re,time #创建所有股票的表格以及插入每支股票 ...

  5. GAN(生成对抗网络)在合成时间序列数据中的应用(第二部分——利用GAN生成时间序列数据)

    GAN(生成对抗网络)在合成时间序列数据中的应用(第二部分–TimeGAN 与合成金融输入) (本文基本是对Jasen 的<Machine Learning for Algorithmic Tr ...

  6. 利用YOLOV5模型进行数据半自动标注

    利用YOLOV5模型进行数据半自动标注 文章目录 利用YOLOV5模型进行数据半自动标注 前言 一.YOLOV5模型进行数据半自动标注是什么? 二.使用步骤 1.YOLOV5进行训练并修改detect ...

  7. SOLIDWORKS 3D CAD 2019新增功能详解(一):利用网格和扫描数据的新设计功能

    三维设计SolidWorks 3D CAD软件除了设计.模拟.成本估算.可制造性检查.CAM.可持续设计和数据管理等多种功能以外,还包含适用于钣金,焊件,曲面,模具,产品配置,DFM和CAM的专业工具 ...

  8. python如何收集数据库_利用Python操作mysql数据库

    本文主要讲解如何利用python中的pymysql库来对mysql数据库进行操作 大家在转行项目中也可以加入这一步操作,提高逼格的同时还能简化流程 正文开始: 先看一下最常见的操作:从数据库中sele ...

  9. 数据数据泄露泄露_通过超参数调整进行数据泄漏

    数据数据泄露泄露 介绍 (Introduction) Data Leakage is when the model somehow knows the patterns in the test dat ...

  10. uni-app - 改变数据后视图无更新变化解决方案,更改数据不刷新(解决修改 data 中的数据视图未更新的问题)

    前言 当页面数据全部请求完毕,但用户操作导致数据改变时,视图并未按照最新数据进行更新. 有时候,我们动态改变数据的时候发现视图并未改变, 常见于在 methods 函数或其他位置中,改变 data 数 ...

最新文章

  1. linux网络配置及IP绑定
  2. 线程: ReentrantLock类
  3. java 模拟登陆exe_Java简单模拟登陆和爬虫实例---博客园老牛大讲堂
  4. Java 重写 多态性_java多态性重写overriding和重载overloading的区别
  5. 使用ycsb测试cassandra
  6. oracle 匿名段,这段匿名块看着没什么问题啊
  7. [转]ubuntu server:开机自动登录
  8. virtualBox文件共享
  9. fileziller 恢复 站点管理器 内的ftp帐号方法
  10. vs cpp代码 添加汇编_C++ 汇编代码查看
  11. [导入]C#中的“装箱”与“拆箱”
  12. Python基础学习5 -字符串
  13. LeeCode 130 DFS
  14. android4.2.2+手机管家,深度清理手机垃圾 腾讯手机管家V4.2评测
  15. 戴尔t40服务器自动开机,新安装的戴尔T40服务器风扇不转了是什么原因?
  16. CDA level 1 业务分析师 之 业务分析部分PART 5 多维数据透视分析(10%)
  17. C++IO流文件指针
  18. Error:Excepted resource of type id
  19. 苹果手机访问html文件夹,iPhone如何访问Windows的共享文件夹
  20. Matlab运动模糊,维纳滤波

热门文章

  1. 阿里的Hadoop之路:Hadoop的过去、现在和未来
  2. python进行文本预处理_用python做NLP:中文文本预处理
  3. 农行支付php,农行网上支付平-B2C接口编程指南-PHP_Edition-V1.0.doc
  4. 独角数卡--免费网店搭建详细教程
  5. scrapy入门:爬取伯乐在线
  6. 面试:为什么redis是单线程的,性能却很高?
  7. Conda下载Python第三方库(只在Conda环境下载Python,Window里并没有安装)
  8. 国外Lead老司机一年开宝马,而你呢?
  9. php大学英语学习网站设计
  10. 跳槽,如何选择一家公司