Java案例——学生管理系统
简单完整的学生管理系统
学生类
public class Student {
private String id;
private String age;
private String name;
private String address;
public Student(){};//无参构造方法
public Student(String name,String age,String id,String address){//有参构造方法
this.id=id;
this.name=name;
this.address=address;
this.age=age;
//get/set方法
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
学生管理类
package StudentMannerger;
import java.util.ArrayList;
import java.util.Scanner;
/*案例:简单的学生管理系统
*
* */
public class StudentManager {
public static void main(String[] args) {
//创建集合对象
ArrayList<Student> arr=new ArrayList<Student>();
boolean flag=true;
while (flag) {
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对象
Scanner sc = new Scanner(System.in);
int choose = sc.nextInt();
switch (choose) {
case 1:
addStudent(arr);
System.out.println("添加学生成功");
break;
case 2:
deleteStudent(arr);
break;
case 3:
updateStudent(arr);
break;
case 4:
selectStudent(arr);
break;
case 5:
System.out.println("5 退出");
flag=false;
break;
}
}
}
//定义方法添加学生的方法
public static void addStudent(ArrayList<Student> array){
//创建scanner对象
Scanner sc = new Scanner(System.in);
String id;
while(true) {
System.out.println("请输入学生id");
id = sc.nextLine();
boolean f = isId(array, id);
if (f) {
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.setAddress(address);
s.setName(name);
s.setAge(age);
array.add(s);
}
// System.out.println(arr);
//定义方法查看学生的方法
public static void selectStudent(ArrayList<Student> array){
if (array.size()==0){
System.out.println("表中没有数据");
return;
}
System.out.println("id\t"+"姓名\t"+"性别\t"+"\t地址");
System.out.println("-----------------------------");
//使用arr.get方法进行遍历元素
for (int i=0;i<array.size();i++){
//Student s=new Student();
Student s=array.get(i);
System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getAge()+"岁\t"+s.getAddress());
}
System.out.println("-----------------------------");
System.out.println("查看成功");
}
//定义方法删除学生
public static void deleteStudent(ArrayList<Student>array){
Scanner sc=new Scanner(System.in);
System.out.println("请输入要删除的学生id");
String id=sc.nextLine();
int index =-1;
for (int i=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("删除成功");
}
// for (int i=0;i<array.size();i++){
// Student s=array.get(i);
// if (s.getId().equals(id)){
// array.remove(i);
// System.out.println("删除成功");
// }else
// System.out.println("没有查询到该学生");
// }
}
//定义方法修改学生信息
public static void updateStudent(ArrayList<Student>array){
Scanner sc=new Scanner(System.in);
System.out.println("请输入您要修改的学生的id");
String id=sc.nextLine();
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);
for (int i=0;i<array.size();i++){
Student s1=array.get(i);
if (s1.getId().equals(id)){
array.set(i,s);
System.out.println("修改成功");
}else
System.out.println("没有找到该人");
}
}
//定义防止学号重复的方法
public static boolean isId(ArrayList<Student>array,String id){
boolean flag=false;
for (int i=0;i<array.size();i++){
Student s= array.get(i);
if (s.getId().equals(id)){
flag=true;
break;
}
}
return flag;
}
}
Java案例——学生管理系统的更多相关文章
- EL&Filter&Listener:EL表达式和JSTL,Servlet规范中的过滤器,Servlet规范中的监听器,观察着设计模式,监听器的使用,综合案例学生管理系统
EL&Filter&Listener-授课 1 EL表达式和JSTL 1.1 EL表达式 1.1.1 EL表达式介绍 *** EL(Expression Language):表达式语言 ...
- java构建学生管理系统(一)
用java搭建学生管理系统,重要还是对数据库的操作,诸如增删改查等. 1.基本的功能: 老师完成对学生信息的查看和修改,完成对班级的信息的概览. 学生可以看自己的成绩和对自己信息的修改. 学生和老师有 ...
- Java+Mysql+学生管理系统
最近正在学java和数据库,想起以前写的学生管理系统,都是从网上下载,敷衍了事.闲来无事,也就自己写了一个,不过功能实现的不是很多. 开发语言:java: 开发环境:Mysql, java: 开发工具 ...
- Java 简化版学生管理系统(IO版)
Student management system 学生管理系统IO版 详细知识点可参考一下几篇文章 常用API Java 之ArrayList集合及应用 Java 之IO流及应用 Compreh ...
- Mybatis高级:Mybatis注解开发单表操作,Mybatis注解开发多表操作,构建sql语句,综合案例学生管理系统使用接口注解方式优化
知识点梳理 课堂讲义 一.Mybatis注解开发单表操作 *** 1.1 MyBatis的常用注解 之前我们在Mapper映射文件中编写的sql语句已经各种配置,其实是比较麻烦的 而这几年来注解开发越 ...
- Java 小型学生管理系统心得
这个学生管理系统相对来说比较简单,主要就是复习下java怎么连接数据库,然后你怎么来实现这个功能,我简单的说下思路吧. 首先你要构思好这个界面,他包括增删查改这些基本功能,然后你去分析这些功能都能怎么 ...
- Java开发学生管理系统
Java 学生管理系统 使用JDBC了链接本地MySQL 数据库,因此在没有建立好数据库的情况下没法成功运行 (数据库部分, Java界面部分, JDBC部分) 资源下载: http://downlo ...
- Java写学生管理系统
package Homework08;/*调试了一上午,收获:学会了昨天的debug的使用吸取教训:Student stus[]=new Student[2]; for (int i=0;i<s ...
- java集合学生管理系统
//student.java package com.sran.www; import java.util.Arrays; import java.util.Scanner; public class ...
随机推荐
- Net6 DI源码分析Part4 CallSiteFactory ServiceCallSite
Net6 CallSiteFactory ServiceCallSite, CallSiteChain abstract class ServiceCallSite ServiceCallSite是个 ...
- pycharm软件安装
目前热门的编程软件: 1.VScode 小巧轻便但是对小白不是很优化 2.sublime 时下最流行的代码编辑器,功能十分强大可以运行在windows.macOS和linux系统中,小白先不要使用 3 ...
- Note -「群论」学习笔记
目录 前置知识 群 置换 Burnside 引理与 Pólya 定理 概念引入 引例 轨道-稳定子(Orbit-Stabilizer)定理 证明 Burnside 引理 证明 Pólya 定理 证明 ...
- Solution -「AGC 029E」「AT 4504」Wandering TKHS
\(\mathcal{Description}\) Link. 给一棵 \(n\) 个点的树,从某个点出发,遍历时必须走到已经走过的连通块所邻接的编号最小的结点.求从每个点出发,走到 \(1\ ...
- suse 12 二进制部署 Kubernetets 1.19.7 - 第01章 - 创建CA证书和kubectl集群管理命令
文章目录 1.kubernetes集群部署 1.0.创建CA证书和秘钥 1.0.0.安装cfssl工具 1.0.1.创建根证书 1.0.2.创建证书签名请求文件 1.0.3.生成CA证书和秘钥 1.0 ...
- MySQL架构原理之存储引擎InnoDB_Redo Log和BinLog
Redo Log和Binlog是MySQL日志系统中非常重要的两种机制,有很多相似之处同时也有差别,本文探究两者细节和区别. 一.Redo Log 1.Redo Log介绍 Redo:顾名思义就是重做 ...
- .Net Core AOP之IExceptionFilter
一.简介 在.net core 中Filter分为以下六大类: 1.AuthorizeAttribute(权限验证) 2.IResourceFilter(资源缓存) 3.IActionFilter(执 ...
- 深入剖析CVE-2021-40444-Cabless利用链
背景 CVE-2021-40444为微软MHTML远程命令执行漏洞,攻击者可通过传播Microsoft Office文档,诱导目标点击文档从而在目标机器上执行任意代码.该漏洞最初的利用思路是使用下载c ...
- 【性能测试实战:jmeter+k8s+微服务+skywalking+efk】系列之:性能测试场景设计
说明: 本文是基于虚拟机环境配置设计的 性能测试需求 总tps≥100 每个业务的rt<500ms 持续稳定跑50万业务量 单场景 目的:找到单场景的性能问题,为容量场景提供参考,如果低于容量场 ...
- 同事会建模,会数据分析,会可视化图表,而你只会用EXCEL?
小李是一家外企的数据分析师,平时处理的都是亿万行级别数据量的报表,为了可以胜任这份工作,小李早早地就学会了各种大数据工具,而且做出来的数据模型高度自动化,效率极高,为公司创造了非常大的价值.因为小李 ...