Java基础00-学生管理系统16
1. 学生管理系统
1.1 项目演示

1.2 实现思路

1.3 定义学生类

public class Student {
private String sid;
private String name;
private String age;
private String address;
public Student() {
}
public Student(String sid, String name, String age, String address){
this.sid = sid;
this.name = name;
this.age = age;
this.address = 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;
}
}
1.4 主界面的代码编写

import java.util.ArrayList;
import java.util.Scanner; public class StudentManager {
public static void main(String[] args) { 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 line = sc.nextLine(); switch (line) {
case "1":
System.out.println("添加学生");
break;
case "2":
System.out.println("删除学生");
break;
case "3":
System.out.println("修改学生");
break;
case "4":
System.out.println("查看所有学生");
break;
case "5":
System.out.println("谢谢使用");
System.exit(0);//JVM退出
}
}
}
}
运行结果:
………………欢迎来到学生管理系统………………
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
请输入你的选择:
4
查看所有学生
………………欢迎来到学生管理系统………………
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
请输入你的选择:
5
谢谢使用
1.5 添加学生的代码编写

import java.util.ArrayList;
import java.util.Scanner; public class StudentManager {
public static void main(String[] args) {
ArrayList<Student> array = new ArrayList<>(); 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 line = sc.nextLine(); switch (line) {
case "1":
//System.out.println("添加学生");
addStudent(array);
break;
case "2":
System.out.println("删除学生");
break;
case "3":
System.out.println("修改学生");
break;
case "4":
System.out.println("查看所有学生");
break;
case "5":
System.out.println("谢谢使用");
System.exit(0);//JVM退出
}
}
} public static void addStudent(ArrayList<Student> array){
//录入学生数据
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生学号:");
String sid = 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.setSid(sid);
s.setName(name);
s.setAge(age);
s.setAddress(address); //添加到集合中
array.add(s);
System.out.println("添加学生成功");
}
}
运行结果:
………………欢迎来到学生管理系统………………
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
请输入你的选择:
1
请输入学生学号:
1
请输入学生姓名:
Tom
请输入学生年龄:
9
请输入学生居住地:
888
添加学生成功
1.6 查看学生的代码编写

public static void findAllStudent(ArrayList<Student> array){
//显示表头信息
System.out.println("学号\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"+s.getAge()+"\t"+s.getAddress());
}
}
public static void main(String[] args) {
ArrayList<Student> array = new ArrayList<>();
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 line = sc.nextLine();
switch (line) {
case "1":
//System.out.println("添加学生");
addStudent(array);
break;
case "2":
System.out.println("删除学生");
break;
case "3":
System.out.println("修改学生");
break;
case "4":
//System.out.println("查看所有学生");
findAllStudent(array);
break;
case "5":
System.out.println("谢谢使用");
System.exit(0);//JVM退出
}
}
}
运行结果:
………………欢迎来到学生管理系统………………
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
请输入你的选择:
1
请输入学生学号:
1
请输入学生姓名:
tom
请输入学生年龄:
3
请输入学生居住地:
789
添加学生成功
………………欢迎来到学生管理系统………………
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
请输入你的选择:
4
学号 姓名 年龄 居住地
1 tom 3 789
………………欢迎来到学生管理系统………………
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
请输入你的选择:
5
谢谢使用
1.7 查看学生的代码编写升级版

public static void findAllStudent(ArrayList<Student> array){
//判断数据
if (array.size() == 0){
System.out.println("无信息,请先输入信息");
//为了让程序不再往下执行,给出return;
return;
}
//显示表头信息
System.out.println("学号\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"+s.getAge()+"\t"+s.getAddress());
}
}
运行结果:
………………欢迎来到学生管理系统………………
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
请输入你的选择:
4
无信息,请先输入信息
………………欢迎来到学生管理系统………………
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
请输入你的选择:
1.8 删除学生的代码编写

public static void deleteStudent(ArrayList<Student> array){
//录入删除学生学号
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除学生的学号:");
String sid = sc.nextLine();
//遍历集合删除对应学号学生
for (int i=0; i<array.size(); i++){
Student s = array.get(i);
if (s.getSid().equals(sid)){
array.remove(i);
break;
}
}
System.out.println("删除成功");
}
public static void main(String[] args) {
ArrayList<Student> array = new ArrayList<>();
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 line = sc.nextLine();
switch (line) {
case "1":
//System.out.println("添加学生");
addStudent(array);
break;
case "2":
//System.out.println("删除学生");
deleteStudent(array);
break;
case "3":
System.out.println("修改学生");
break;
case "4":
//System.out.println("查看所有学生");
findAllStudent(array);
break;
case "5":
System.out.println("谢谢使用");
System.exit(0);//JVM退出
}
}
}
运行结果:
………………欢迎来到学生管理系统………………
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
请输入你的选择:
1
请输入学生学号:
1234
请输入学生姓名:
tom
请输入学生年龄:
99
请输入学生居住地:
7899888
添加学生成功
………………欢迎来到学生管理系统………………
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
请输入你的选择:
2
请输入要删除学生的学号:
1234
删除成功
1.9 修改学生的代码编写

public static void updateStudent(ArrayList<Student> array){
Scanner sc = new Scanner(System.in);
System.out.println("请输入要修改的学生学号:");
String sid = sc.nextLine();
System.out.println("请输入修改后的姓名:");
String name = sc.nextLine();
System.out.println("请输入修改后的年龄:");
String ang = sc.nextLine();
System.out.println("请输入修改后的居住地:");
String address = sc.nextLine();
Student s = new Student();
s.setSid(sid);
s.setName(name);
s.getAge();
s.setAddress(address);
for (int i=0; i<array.size(); i++){
Student s1 = array.get(i);
if (s1.getSid().equals(sid)){
array.set(i,s);
break;
}
}
}
public static void main(String[] args) {
ArrayList<Student> array = new ArrayList<>();
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 line = sc.nextLine();
switch (line) {
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("查看所有学生");
findAllStudent(array);
break;
case "5":
System.out.println("谢谢使用");
System.exit(0);//JVM退出
}
}
}
运行结果:
………………欢迎来到学生管理系统………………
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
请输入你的选择:
1
请输入学生学号:
1234
请输入学生姓名:
tom
请输入学生年龄:
9
请输入学生居住地:
9874
添加学生成功
………………欢迎来到学生管理系统………………
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
请输入你的选择:
3
请输入要修改的学生学号:
1234
请输入修改后的姓名:
bob
请输入修改后的年龄:
874
请输入修改后的居住地:
54648
1.10 解决删除/修改学生学号不存在问题

public static void deleteStudent(ArrayList<Student> array){
//录入删除学生学号
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除学生的学号:");
String sid = sc.nextLine();
//判断是否存在,遍历集合删除对应学号学生
int index = -1;
for (int i=0; i<array.size(); i++){
Student s = array.get(i);
if (s.getSid().equals(sid)){
index=i;
break;
}
}
if (index == -1){
System.out.println("该信息不存在,请重新输入");
}else{
array.remove(index);
System.out.println("删除学生成功");
}
}
1.11 解决添加学生学号重复问题

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;
}
}
return flag;
}
public static void addStudent(ArrayList<Student> array){
//录入学生数据
Scanner sc = new Scanner(System.in);
//为了让sid在while循环外被使用,把其定义在循环外
String sid;
//为了让程序能够回到这里,使用循环实现
while(true){
System.out.println("请输入学生学号:");
sid = sc.nextLine();
boolean flag = isUsed(array, sid);
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.setSid(sid);
s.setName(name);
s.setAge(age);
s.setAddress(address);
//添加到集合中
array.add(s);
System.out.println("添加学生成功");
}
运行结果:
………………欢迎来到学生管理系统………………
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
请输入你的选择:
1
请输入学生学号:
1
请输入学生姓名:
45
请输入学生年龄:
45
请输入学生居住地:
45
添加学生成功
………………欢迎来到学生管理系统………………
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
请输入你的选择:
1
请输入学生学号:
1
你输入的学号已被使用,请重新输入
请输入学生学号:
Java基础00-学生管理系统16的更多相关文章
- Java基础进阶:学生管理系统数组方式分包源码实现,教师管理系统集合和数组两种方式源码实现,图书馆管理系统源码实现,现附重难点,代码实现源码,课堂笔记,课后扩展及答案
1.案例驱动模式 1.1案例驱动模式概述 (理解) 通过我们已掌握的知识点,先实现一个案例,然后找出这个案例中,存在的一些问题,在通过新知识点解决问题 1.2案例驱动模式的好处 (理解) 解决重复代码 ...
- java基础: ArrayList集合应用, ArrayList增删改查详解,综合java基础实现学生管理系统,
1.ArrayList 集合和数组的区别 : 共同点:都是存储数据的容器 不同点:数组的容量是固定的,集合的容量是可变的 1.1 -ArrayList的构造方法和添加方法 public ArrayLi ...
- java基础:学生管理系统
package com.lovo.manager; import java.util.Scanner; /** * 学生管理 * * @author 向往的生活 * */public class St ...
- 第83节:Java中的学生管理系统分页功能
第83节:Java中的学生管理系统分页功能 分页功能一般可以做成两种,一种是物理分页,另一种是逻辑分页.这两种功能是有各自的特点的,物理分页是查询的时候,对数据库进行访问,只是查一页数据就进行返回,其 ...
- 第82节:Java中的学生管理系统
第82节:Java中的学生管理系统 学生管理系统的删除功能 删除,点击超链接,点击弹出对话框式是否进行删除,如果确定,就删除,超链接执行的是js方法,在js里访问,跳转servlet,,servlet ...
- java版本的学生管理系统
import java.awt.BorderLayout; import java.awt.Color; import java.awt.Frame; import java.awt.event.Ac ...
- 初学Java Web(9)——学生管理系统(简易版)总结
项目开始时间:2018年4月8日14:37:47 项目完成时间:2018年4月9日10:03:30 技术准备 这个项目是自己用于巩固 J2EE 相关知识的练手项目,非常简单,但是相关的功能却非常实用, ...
- java课程设计 学生管理系统
学生成绩管理系统 可实现功能 学生管理系统 查询学生信息:姓名.学号.性别.出生年月日.(学号自动生成且唯一) 查询学生成绩:每个人都有数学.Java与体育与选修课 查询学生课程 进行公选课选课 教师 ...
- Java学习笔记-学生管理系统
Java学习笔记 一个Student类 public class Student { private String sid; private String name; private String a ...
随机推荐
- 在NVIDIA-Jetson平台上构建智能多媒体服务器
在NVIDIA-Jetson平台上构建智能多媒体服务器 Building a Multi-Camera Media Server for AI Processing on the NVIDIA Jet ...
- GPU端到端目标检测YOLOV3全过程(下)
GPU端到端目标检测YOLOV3全过程(下) Ubuntu18.04系统下最新版GPU环境配置 安装显卡驱动 安装Cuda 10.0 安装cuDNN 1.安装显卡驱动 (1)这里采用的是PPA源的安装 ...
- ApplicationListener接口,在spring容器初始化后执行的方法
一.如果我们希望在Spring容器将所有的Bean都初始化完成之后,做一些操作,那么就可以使用ApplicationListener接口,实现ApplicationListener接口中的onAppl ...
- vue给元素动态绑定样式
<div :style="{ color: activeColor, fontSize: fontSize + 'px' }"></div> data () ...
- 【模拟7.14】B. 熟练剖分(tree) (概率DP)
一道概率神题,考试时没读清题考完看了学长的玄学题解看了好几个小时 首先f[i][j]表示在点 i 为根的子树中,向下最长轻链长度小于等于 j 的概率. 首先递归下去并求出子树大小,然后枚举重儿子,枚举 ...
- 【dp】10-8题解 vacation
vacations 原题codeforeces round 363 (Div2) c 题目描述 暑假到了, Pb 正在计划他的假期. Pb 准备假期去体育馆锻炼或看电影.但体育馆和电影院都有可能当天不 ...
- NOIP模拟测试「简单的区间·简单的玄学·简单的填数·简单的序列」
简单的区间 $update$ 终于$AC$了 找到$(sum[r]+sum[l](sum表示以中间点为基准的sum)-mx)\%k==0$的点 注意这里$sum$表示是以$mid$为基准点,(即$su ...
- Go语言获取Ubuntu所有网卡名
Go语言获取Ubuntu所有网卡名 需求 获取当前机器下所有网卡名,以字符串数组的形式返回 实现demo package main import ( "fmt" "os/ ...
- 简述MSTP与配置
一.简介 二.MSTP概述 三.功能 四.配置命令 一.简介 多生成树协议MSTP(Multiple Spanning Tree Protocol)是IEEE 802.1s中定义的生成树协议,通过生成 ...
- Python3中最常用的5种线程锁你会用吗
前言 本章节将继续围绕threading模块讲解,基本上是纯理论偏多. 对于日常开发者来讲很少会使用到本章节的内容,但是对框架作者等是必备知识,同时也是高频的面试常见问题. 官方文档 线程安全 线程安 ...