学生成绩信息的增删改查 通过控制台实现
2019独角兽企业重金招聘Python工程师标准>>>
简单的学生成绩增删改查实现:
1启动类:
/*
* 思路:
* 1简单的页面设计,进入系统的退出系统的提醒
* 2选项:1输入学生信息,2修改学生信息,3删除学生信息 4查询学生信息5推出系统
* 3无限循环从接收端接受信息
*/
public class Start {
public static void main(String[] args) {
Student.print();
}
}
2描述类:
import java.util.ArrayList;
import java.util.Scanner;
/* 思路:
* 界面:
* 1简单的页面设计,进入系统的退出系统的提醒
* 2选项:1输入学生信息,2修改学生信息,3删除学生信息 4查询学生信息5推出系统
*
* 描述:
* 1描述学生类,学生姓名,年龄,性别,成绩
* 2建立构造函数,用于封装获取到的数据
*/
public class Student {
static int in=0;
//描述学生
public String name;
public String age;
public String sex;
public String ach;
static ArrayList<Student> al =new ArrayList<Student>();
//创建构造函数,用以封装数据
public Student(String name, String age, String sex, String ach) {
this.name = name;
this.age = age;
this.sex = sex;
this.ach = ach;
}
//重写toString方法,用以输出对象里的内容
public String toString() {
return "学生 [姓名=" + name + ", 年龄=" + age + ", 性别=" + sex
+ ", 成绩=" + ach + "]";
}
//界面选择,获取用户操作信息
public static void print(){
System.out.println("--------------------------欢迎来到学生管理系统------------------------");
System.out.println();
System.out.println();
System.out.println();
System.out.println();
System.out.println("请选择:1 增加学生信息 2 删除学生信息 3 修改学生信息 4 查询学生信息 5 退出系统");
Scanner s=new Scanner(System.in);
in=s.nextInt();
//转变为字符串,方面下面的正则表达的判断
String str=String.valueOf(in);
//正则表达
String regex="[1-4]";
if(str.matches(regex)){
switch(in){
case 1:
Add.add();
break;
case 2:
Delete.delete();
break;
case 3:
Alter.alter();
break;
case 4:
Rearch.reacher();
break;
case 5:
System.out.println("已经退出系统");
break;
}
}else{
System.out.println("请输入有效的命令");
System.out.println("按1回到主界面");
Scanner sr=new Scanner(System.in);
int in=sr.nextInt();
if(in==1){
print();
}
}
}
}
3增加信息功能的类:
import java.util.Scanner;
public class Add {
public static void add(){
System.out.println("---------增加学生信息-------");
System.out.println("请输入学生的姓名:");
System.out.println("年龄:");
System.out.println("性别:");
System.out.println("成绩:");
System.out.println("输入数字选择:1确认 2取消");
Scanner s=new Scanner(System.in);
String name=s.next();
Scanner s1=new Scanner(System.in);
String age=s.next();
Scanner s3=new Scanner(System.in);
String sex=s.next();
Scanner s4=new Scanner(System.in);
String ach=s.next();
Scanner s5=new Scanner(System.in);
int in=s5.nextInt();
if(in==1){
Student st1=new Student(name, age, sex, ach);
Student.al.add(st1);
Student.print();
}else{
Student.print();
}
}
}
4删除学生信息的类:
import java.util.Iterator;
import java.util.Scanner;
/*
* 思路:
* 删除信息,要删除的是学生对象,
* 1先通过集合遍历拿到与需要删除的姓名匹配的对象,然后将其删除
*/
public class Delete {
public static void delete(){
System.out.println("---------------删除界面--------------");
System.out.println("请输入需要删除的学生姓名:");
//接受用户输入的需要删除的信息
@SuppressWarnings("resource")
Scanner s=new Scanner(System.in);
String str=s.nextLine();
Iterator<Student> it=Student.al.iterator();
while(it.hasNext()){
Student st=it.next();
if(st.name.equals(str)){
it.remove();
System.out.println("确认删除请按1");
@SuppressWarnings("resource")
Scanner sr =new Scanner(System.in);
int in=sr.nextInt();
if(in==1){
Student.print();
}
}
}
if(!Student.al.contains(str)){
System.out.println("没有此人");
System.out.println("按1回到主界面");
System.out.println("输入1确认");
@SuppressWarnings("resource")
Scanner sr =new Scanner(System.in);
int in=sr.nextInt();
if(in==1){
Student.print();
}
}
}
}
5修改学生信息的类:
import java.util.Iterator;
import java.util.ListIterator;
import java.util.Scanner;
/*
* 思路:
* 1匹配到对象的过程和增,删,查一样
* 2拿到对象后,需要对对象的数据进行操作,需要用到集合中的修改方法
* 3这些操作
*/
public class Alter {
public static void alter(){
System.out.println("---------------修改界面--------------");
System.out.println("请输入需要修改的学生姓名:");
//接受用户输入的需要修改的信息
Scanner s=new Scanner(System.in);
String str=s.nextLine();
Iterator<Student> it=Student.al.iterator();
while(it.hasNext()){
if(it.next().equals(str)){
it.remove();
System.out.println("请输入新的姓名");
Scanner s1=new Scanner(System.in);
String name=s.next();
System.out.println("请输入新的年龄");
Scanner s2=new Scanner(System.in);
String age=s.next();
System.out.println("请输入新的性别");
Scanner s3=new Scanner(System.in);
String sex=s.next();
System.out.println("请输入新的成绩");
Scanner s4=new Scanner(System.in);
String ach=s.next();
Student st=new Student(name, age, sex, ach);
Student.al.add(st);
System.out.println("按 1确认修改");
Scanner s5=new Scanner(System.in);
int in=s5.nextInt();
if(in==1){
Student.print();
}
}
}
if(!Student.al.contains(str)){
System.out.println("没有此人");
System.out.println("按1回到主界面");
System.out.println("输入1确认");
Scanner sr =new Scanner(System.in);
int in=sr.nextInt();
if(in==1){
Student.print();
}
}
}
}
6:查询信息的类:
import java.util.Iterator;
import java.util.Scanner;
/*
* 思路:
* 查询要操作的对象是存放学生对象的集合
* 将集合中的数据输出即可
*/
public class Rearch {
public static void reacher(){
System.out.println("----------查询界面--------");
System.out.println("学生姓名:");
Scanner s=new Scanner(System.in);
//读取输入的学生姓名
String str=s.nextLine();
//创建迭代器来遍历容器
Iterator<Student> it=Student.al.iterator();
while(it.hasNext()){
//把迭代其获得的对象复制给新的学生类对象
Student st=it.next();
//如果姓名相同,则说明找到该学生
if(st.name.equals(str)){
//将匹配到的学生输出
System.out.println(st);
//此接受信息用于回到主操作页面
System.out.println("输入1确认");
Scanner sr=new Scanner(System.in);
int in=sr.nextInt();
//用户确认后,回到主操作页面
if(in==1){
Student.print();
}
}
}
if(!Student.al.contains(str)){
System.out.println("没有此人");
System.out.println("按1回到主界面");
System.out.println("输入1确认");
Scanner sr =new Scanner(System.in);
int in=sr.nextInt();
if(in==1){
Student.print();
}
}
}
}
该程序是简单通过控制台实现需求,功能方面不足的是:当存在两个同名的学生时,删除和修改功能里的程序没有实现这个情况下的需求
转载于:https://my.oschina.net/u/1589656/blog/227341
学生成绩信息的增删改查 通过控制台实现相关推荐
- 通过php执行mysql语句进行学生成绩表的增删改查
服务器:Apache 数据库:MySQL 通过php执行mysql语句进行增删改查,首先进行功能分析,需要写哪些执行文件,及其执行的功能: 1.index.php中:通过php执行sql语句获取数据库 ...
- java 学生信息的增删改查_学生信息的增删改查(java)
学生信息的增删改查 注意:此处用到的是access数据库. 运行后效果如图: 代码如下: package example; import java.awt.*; import java.awt.eve ...
- python学生信息管理系统-增删改查-根据姓名查询
学生信息管理系统 增删改查,求平均年龄,退出系统,根据姓名查询 def show_menu():print('*******欢迎使用学生管理系统*************')print('****** ...
- Java语言写一个简单的学生信息管理系统,通过JDBC连接数据库对学生信息进行增删改查,采用三层思想和DBUtils第三方框架。
我把源代码和sql文件放GitHub上了,你们可以自行下载:https://github.com/fenglily1/student. 有问题可以留言或私信,我看到就会回. 进阶版加上页面的管理系统在 ...
- Python编程 模拟SQL语句 实现对员工信息的增删改查
一.问题描述 用 Python 模拟 sql 语句,实现对员工信息的增删改查. 封装函数,传入参数:文件路径和 sql 命令. 模拟 sql 语句实现对员工信息的现增删改查,并打印结果. 二.Pyth ...
- 学生信息管理系统(连接数据库,面向对象的方法实现学生信息的增删改查操作)...
---------------------------------------------------------------------------------------------------- ...
- 商品品牌信息的增删改查操作步骤_图书信息管理系统
不仅仅是图书信息管理系统 基于双链表,采用面向对象编程方法制作的图书管理系统 来源微信公众号: 不仅仅是图书信息管理系统mp.weixin.qq.com 效果演示 框架结构 数据层:双链表管理 核心 ...
- SpringMVC-RestfulCRUD || 员工信息表增删改查操作的具体实现
SpringMVC-RestfulCRUD 利用SpringMVC做一个CRUD(增删改查)符合Rest风格的: C:Create:创建 R:Retrieve:查询 U:Update:更新 D:Del ...
- 商品品牌信息的增删改查操作步骤_javaweb09-Servlet增删改查
学习笔记是参考的how2j 本章笔记的目的是介绍如何与JDBC结合,通过servlet对数据库中的数据进行增.删.改.查. 一.前期准备 1.新建一个Dynamic Web Project 步骤为:f ...
最新文章
- 学习javascript 非常好的博客
- HTTP请求报文和HTTP响应报文(转)
- AI 重新定义金融,颠覆投资模式
- 嵌入式开发试题1-100
- 一小时搞明白自定义注解(Annotation)
- Winform中实现向窗体中拖放照片并显示以及拖放文件夹显示树形结构(附代码下载)
- 【技术贴】解决 myeclipse打不开报错an error has occurred, see .
- python 颜色空间转换_python opencv入门 颜色空间转换(9)
- Atitit 深入了解UUID含义是通用唯一识别码 (Universally Unique Identifier),
- Linux epoll 实现封装
- python3爬取torrent种子链接实例
- NLTK03 《Python自然语言处理》code02 获得文本语料和词汇资源
- oracle如何导入用户数据文件,oracle的dmp数据文件的导出和导入以及创建用户
- css一些零零散散的问题
- uniapp 做的一个房贷计算器
- 读书笔记:《七周七数据库》
- mysql安装报找不到MSVCP120.dll
- 谷歌浏览器打不开新浪微博
- 正确认识同轴与双绞线传输技术
- java *** 制作圣诞贺卡
热门文章
- jQueryEasyUI各个版本(1.1-1.9)下载
- index.php p=,弃用p值:你准备好了吗?
- php机械相关毕业设计,PHP+MySQL毕业设计选题管理系统(含论文)
- webstorm设置注释颜色_PDF中的注释怎么用?这里有方法
- .desktop 桌面快捷_Ubuntu 桌面手动添加应用快捷方式
- python中编完类后到实例编写_Python 和 JavaScript 的区别是什么?
- python带界面的人脸识别_PyQt5+Caffe+Opencv搭建人脸识别登录界面
- python类中导入库_python导入库的具体方法
- 会说话的狗狗本电脑版_一看就会用!Fotor 电脑版 图片后期处理详解系列教程 第一节...
- 高中信息技术—Python常见关键字及函数中英文对照