学生管理系统CLI版
学生管理系统CLI版
学生类
package com.itheima_03;
public class Student {
String sid;
String name;
String age;
String address;
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Student(String sid, String name, String age, String address) {
this.sid = sid;
this.name = name;
this.age = age;
this.address = address;
}
public Student() {
}
}
主函数
package com.itheima_03;
import javax.swing.plaf.synth.SynthEditorPaneUI;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManager {
public static void main(String[] args) {
//创建一个集合存储学生对象
ArrayList<Student> array = new ArrayList<Student>();
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.print("请输入你的选择:");
//用Scanner录入数据
Scanner sc = new Scanner(System.in);
String choice = sc.nextLine();
switch (choice){
case "1":
System.out.println("********添加学生********");
addStudent(array);
break;
case "2":
System.out.println("********删除学生********");
deleteStudent(array);
break;
case "3":
System.out.println("********修改学生********");
updateStudent(array);
break;
case "4":
System.out.println("********查看所有学生********");
showAllStudent(array);
break;
case "5":
System.out.println("谢谢使用");
// break;
System.exit(0);//JVM退出
}
}
}
//定义一个方法,用于添加学生信息
public static void addStudent(ArrayList<Student> array){
//通过键盘录入数据
Scanner sc = new Scanner(System.in);
//录入学生信息
System.out.print("请输入学生学号:");
String sid = sc.nextLine();
while (true) {
if (isUsed(array, sid)) {
System.out.println("您输入的学号已经存在!请重新输入");
sid = sc.nextLine();
}else {
break;
}
}
System.out.print("请输入学生姓名:");
String name = sc.nextLine();
System.out.print("请输入学生年龄:");
String age = sc.nextLine();
System.out.print("请输入学生住址:");
String address = sc.nextLine();
//新建学生对象并对其信息进行赋值
Student s = new Student();
s.setSid(sid);
s.setName(name);
s.setAge(age);
s.setAddress(address);
//将学生添加到集合中
array.add(s);
//给出提示信息
System.out.println("添加学生信息成功!");
}
//定义一个方法,用于显示全部学生信息
public static void showAllStudent(ArrayList<Student> array){
//判断集合中是否有元素,如果没有给出提示信息
if (array.size() == 0){
System.out.println("目前没有信息,请试试添加一下吧~");
return;
}
//如果有元素,打印表头
System.out.println("学号\t\t\t姓名\t\t年龄\t\t家庭住址");
//循环打印集合中的学生
for (int i = 0;i < array.size();i++){
Student s = array.get(i);
System.out.println(s.getSid()+"\t"+s.getName()+"\t\t"+s.getAge()+"\t\t\t"+s.getAddress());
}
}
//定义一个方法,用于删除学生信息
public static void deleteStudent(ArrayList<Student> array){
//提示用户输入所要删除学生的学号
Scanner sc = new Scanner(System.in);
System.out.print("请输入你要删除的学生学号:");
String line = sc.nextLine();
//遍历集合,找到对应的学生并删除
//建立一个索引来判断所要删除的学生是否在集合内
int index = -1;
for (int i = 0;i < array.size();i++){
Student s = array.get(i);
if (s.getSid().equals(line)){ //字符串进行比较用equals()
index = i;
break;
}
}
if(index == -1){
System.out.println("该学生不存在!");
}else {
array.remove(index);
//给出提示消息
System.out.println("删除成功!");
}
}
//定义一个方法,用户修改学生信息
public static void updateStudent(ArrayList<Student> array){
//键盘录入要修改的学生学号
Scanner sc = new Scanner(System.in);
System.out.print("请输入你要修改的学生的学号:");
String sid = sc.nextLine();
//创建一个新对象并提示用户输入其信息
Student s_new = new Student();
System.out.print("请输入学生新姓名:");
String name = sc.nextLine();
System.out.print("请输入学生新年龄:");
String age = sc.nextLine();
System.out.print("请输入学生新住址:");
String address = sc.nextLine();
//赋值给新对象
s_new.setSid(sid);
s_new.setName(name);
s_new.setAge(age);
s_new.setAddress(address);
//遍历集合,找到旧对象并用新对象进行替换
for (int i = 0;i < array.size();i++){
Student s = array.get(i);
if (s.getSid().equals(sid)){
array.set(i,s_new);//根据索引用s_new进行替换
break;
}
}
//给出提示信息
System.out.println("修改学生信息成功!");
}
//定义一个方法,用来判断学号是否重复
public static boolean isUsed(ArrayList<Student> array,String sid){
//创建标志位作为返回值
boolean flag = false;
//遍历集合,查找有没有相同的学号
for (int i = 0;i < array.size();i++){
Student s = array.get(i);
if (s.getSid().equals(sid)){
flag = true;
break;
}else {
continue;
}
}
//返回标志位
return flag;
}
}
学生管理系统CLI版的更多相关文章
- 模拟斗地主和学生管理系统 IO 版
1.模拟斗地主 public class PlayCards { public static void main(String[] args) { String[] color = {"黑桃 ...
- C语言学生管理系统完善版
#include<stdio.h>#include<string.h>#include <stdlib.h>#define M 100struct score ...
- Java小例子(学习整理)-----学生管理系统-控制台版
1.功能介绍: 首先,这个小案例没有使用数据库,用集合的形式暂时保存数据,做测试! 功能: 增加学生信息 删除学生信息 修改学生信息 查询学生信息: 按照学号(精确查询) 按照姓名(模糊查询) 打 ...
- python 学生管理系统 文件版 增删改查
# 在程序开始之前完成数据的读取 # 存在着循环 # 循环的内容 # 将操作内容分解为函数 def sel_student(students_list): """ 查看所 ...
- Java 简化版学生管理系统(IO版)
Student management system 学生管理系统IO版 详细知识点可参考一下几篇文章 常用API Java 之ArrayList集合及应用 Java 之IO流及应用 Compreh ...
- python开发的学生管理系统
python开发的学生管理系统(基础版) #定义一个函数,显示可以使用的功能列表给用户 def showInfo(): print("-"*30) print(" 学生管 ...
- 史上最强学生管理系统之IO版
既上一博发布的ArrayList版本之后,新一版的IO版又来了,其实只是在上一个版本里面添加了IO流的内容,将存入更改的信息更新到了文件中而已,这个版本网上仍然很多,本人只是在某些方面稍加修改,因为自 ...
- 学生管理系统(SSM简易版)总结
之前用 Servlet + JSP 实现了一个简易版的学生管理系统,在学习了 SSM 框架之后,我们来对之前写过的项目重构一下! 技术准备 为了完成这个项目,需要掌握如下技术: Java 基础知识 前 ...
- “石家庄铁道大学软件工程系学生学籍管理系统2019版”java小程序制作分享
首先附上完整代码: import java.util.Scanner; public class SocreInformation { public SocreInformation(){}; pub ...
- Java 石家庄铁道大学软件工程系 学生学籍管理系统 2019 版
本系统的作用是简单实现一些学生成绩管理操作:录入,修改,绩点计算,以及系统退出等. 首先建一个主函数实现界面的实现,然后建一个数据类用来定义存放数据.之后建立一个工具类,用来实现所有要进行的操作.首先 ...
随机推荐
- flutter Color和colors
"Color(颜色)"是我们在设置应用程序界面样式时最常用到的属性. Flutter 中颜色设置的方式有很多种,其中最常用的有下列几种: Color c1 = Color(0xFF ...
- Jenkins自动化部署(linux环境)---构建任务
用jenkins创建一个构建任务 1.这里我代码仓库用的是码云(github也是一样的)输入仓库地址.因为仓库是私有的所以会有报错提示 这里要添加Credentials.就是你码云或者github账号 ...
- JS实现打字效果(_会闪烁)
背景 更新博客园个人博客时,突发奇想想要将子标题的入场特效做成类似Linux命令行输命令时的样式 效果网页:LanceEst - 博客园 (cnblogs.com) 思路和代码 1 <h2 id ...
- Java script Date和长整型互换
document.write(new Date().getTime()); document.write('<br/>') var date1=new Date(1590024428000 ...
- elasticSearch(五)--排序
1.字段值排序 2.多级排序 3.字符串参数排序 GET /_search?sort=date:desc&sort=_score&q=search
- 如何修改vagrant系统的root用户密码
1. 先使用vagrant 用户登录. 2. $sudo passwd root #按照提示输入两次新的密码,并加以确认. 然后就可以修改root用户密码
- @EnableAspectJAutoProxy 注解的作用 —— 转载
@EnableAspectJAutoProxy(proxyTargetClass = true, exposeProxy = true)解决同类方法调用时异步和事务不生效:我们在开启springboo ...
- centos7 yum安装配置Lnmp和负载配置
首先配置防火墙CentOS 7.0默认使用的是firewall作为防火墙1.关闭firewall: systemctl stop firewalld.service #停止firewallsystem ...
- Webservice EASLogin登录接口说明
https://club.kingdee.com/forum.php?mod=viewthread&tid=1332944
- FTP替代传输方案的优异性体现在哪些方面?
多年来,FTP一直是最常见的交换文件的方式,FTP-FTPS-SFTP似乎是FTP的不断迭代更新,但是究竟是技术更新导致FTP过时?还是它真的已经满足不了企业的需求了? 之前,大家选择FTP往往是因为 ...