学生管理系统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;
}
}

最新文章

  1. method
  2. BizTalk开发系列(二十七) 异常管理中的数据编码
  3. Codeforces Round #159 (Div. 2)
  4. asp.net.mvc 中form表单提交控制器的2种方法和控制器接收页面提交数据的4种方法
  5. 【转载】loadrunner使用system()函数调用Tesseract-OCR识别验证码遇到的问题
  6. JS运动基础(一)
  7. android中常用菜单(menu)的基本知识
  8. Ubuntu Telnet 配置(openbsd-inetd)
  9. python常用函数 库 转
  10. 使用C#创建winform窗体,修改debugwen文件夹下exe应用程序的默认图标
  11. Hadoop1.x原理
  12. Centos 如何 发布Java项目
  13. (八)shell工具-重点
  14. 5、faker.js数据模拟
  15. Flask cookie
  16. 网卡配置文件详解 用户管理与文件权限篇 文件与目录权限 软连接 tar解压命令 killall命令 linux防火墙 dns解析设置 计划任务crond服务 软件包安装 阿里云 yum源 安装
  17. ArcGIS自定义工具箱-判断字段值是否相等
  18. CF Round #510 (Div. 2)
  19. e615. Finding the Next Focusable Component
  20. 使用Maven导出项目依赖的jar包

热门文章

  1. MYSQL-数据操作DDL,DML,DCL,DQL
  2. IIS管理器中远程管理其它web服务器上的IIS站点
  3. 吴恩达老师机器学习课程chapter09——异常检测
  4. redis 和docker等名词了解
  5. wmi和wmic
  6. java的Stream
  7. cv::eigen
  8. python pip 下载出问题解决方法(超时出错)
  9. uniapp 离开界面清除计时器
  10. Mysql数据库基础第二章:(十)联合查询