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 ...
随机推荐
- C# 将DLL制作CAB包并在浏览器下载,自动安装。(Activex)(包括ie打开cab包一直弹出用户账户控制,确定之后无反应的解决办法。)
制作Activex程序网上有很多方法我就不说了,我的业务主要做的就是将DLL打包成CAB供浏览器下载. 下面制作证书,以及制作cab包需要用到一些工具.我将工具包上传到自己的博客园里了,以供大家下载. ...
- H.265视频编码与技术全析(上)
H.265视频编码与技术全析(上) 一. 概述 作为新一代视频编解码格式,H.265得到越来越广泛的应用.不久之前,苹果公司在翘首期盼中发布了iPhone6,该款手机较之以往的iPhone,不仅仅只是 ...
- 活动识别API服务开发
活动识别API服务开发 要使用华为活动识别服务API,需要确保设备已经下载并安装了HMS Core(APK),并将Location Kit的SDK集成到项目中. 指定应用权限 在Android Q以下 ...
- MindSpore图像分类模型支持(Lite)
MindSpore图像分类模型支持(Lite) 图像分类介绍 图像分类模型可以预测图片中出现哪些物体,识别出图片中出现物体列表及其概率. 比如下图经过模型推理的分类结果为下表: 类别 概率 plant ...
- MindInsight张量可视设计介绍
MindInsight张量可视设计介绍 特性背景 张量可视,能够帮助用户直观查看训练过程中的Tensor值,既支持以直方图的形式呈现Tensor的变化趋势,也支持查看某次step的具体Tensor值. ...
- 用Redis实现签到功能
一.场景 在很多时候我们会遇到用户签到的场景,每天用户进入应用时,需要获取用户当天的签到状态,如果没签到,用户可以进行签到,并且得到相关的奖励.我们可能需要每天的签到情况,必要的时候可能还需要统计一下 ...
- 【NX二次开发】Block UI 微定位
属性说明 属性 类型 描述 常规 BlockID String 控件ID Enable Logical 是否可操作 Group ...
- 用Python爬取分析【某东618】畅销商品销量数据,带你看看大家都喜欢买什么!
618购物节,辰哥准备分析一波购物节大家都喜欢买什么?本文以某东为例,Python爬取618活动的畅销商品数据,并进行数据清洗,最后以可视化的方式从不同角度去了解畅销商品中,名列前茅的商品是哪些?销售 ...
- 【题解】Luogu P3123 [USACO15OPEN]贝茜说哞Bessie Goes Moo
Luogu P3123 [USACO15OPEN]贝茜说哞Bessie Goes Moo 题目描述 Farmer John and Bessie the cow love to exchange ma ...
- OO unit4 summary
Unit4 一.第四单元作业的架构设计 第四单元个人认为主要是考察对于层次结构的理解,即如何理解并处理好UML图的树状结构组织,在理好层次之间以及层次内部的相互关系之后,就只剩下代码实现的问题了.但是 ...