前言
经过对上篇文章有关知识的理解,写出一个简单的学生管理系统应该就不问题了。下面正式开始写学生管理系统! 上篇文章以及相关PPT链接:https://blog.csdn.net/weixin_51753483/article/details/119681547
一、学生管理系统实现思路
- 定义学生类
- 主界面的代码编写
- 添加学生的代码编写
- 查看学生的代码编写
- 删除学生的代码编写
- 修改学生的代码编写
二、定义学生类
学生类: Student 成员变量: 学号:sid 姓名:name 年龄:age 居住地:address 构造方法: 无参构造 带四个参数的构造 成员方法: 每个成员变量对应给出get/set方法 代码示例:
package itheima_02;
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 String getName() {
return name;
}
public String getAge() {
return age;
}
public String getAddress() {
return address;
}
public void setSid(String sid) {
this.sid = sid;
}
public void setName(String name) {
this.name = name;
}
public void setAge(String age) {
this.age = age;
}
public void setAddress(String address) {
this.address = address;
}
}
三、主界面的代码编写
界面展示:
思路:
- 用输出语句完成主界面的编写
- 用Scanner实现键盘录入数据
- 用switch语句完成操作的选择
- 用循环完成再次回到主界面
代码示例:
package StudentManage;
import java.util.Scanner;
public class StudentManage {
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 in = new Scanner(System.in);
String line = in.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);
}
}
}
}
四、添加学生的代码编写
思路:
- 用键盘录入选择添加学生
- 定义一个方法,用于添加学生
显示提示信息,提示要输入何种信息 键盘录入学生对象所需要的数据 创建学生对象,把键盘录入的数据赋值给学生对象的成员变量 将学生对象添加到集合中(保存数据) 给出添加成功提示 3.调用方法 图形示意: 代码示例:在main方法后面创建一个添加学生的方法
public static void addStudent(ArrayList<Student>array){
Scanner in = new Scanner(System.in);
System.out.println("请输入学生学号:");
String sid = in.nextLine();
System.out.println("请输入学生姓名:");
String name = in.nextLine();
System.out.println("请输入学生年龄:");
String age = in.nextLine();
System.out.println("请输入学生居住地:");
String address = in.nextLine();
Student s = new Student();
s.setSid(sid);
s.setName(name);
s.setAge(age);
s.setAddress(address);
array.add(s);
System.out.println("添加学生成功!");
}
在main方法中添加功能里加一个调用addstudent的方法
switch (line) {
case "1":
System.out.println("添加学生");
addstudent(array);
break;
五、查看所有学生的代码编写
就是按照对应格式遍历集合
1.用键盘录入选择查看所有学生信息 2 .定义一个方法,用于查看学生信息 判断集合中是否有数据,如果没有显示相关信息 显示表头信息 将集合中数据取出按照对应格式显示学生信息,年龄显示补充“岁” 3.在相关功能键调用方法 代码示例:
public static void findAllStudent(ArrayList<Student>array){
if(array.size()==0){
System.out.println("无信息,请添加信息后查询!");
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());
}
}
在功能键里调用
case "4":
System.out.println("查看所有学生");
findAllStudent(array);
break;
六、删除学生的代码编写
思路:
- 用键盘录入选择删除学生信息
- 定义一个方法,用于删除学生信息
提示信息 键盘录入要删除的学生学号 遍历集合将对应学生对象从集合里删除 给出删除成功提示 代码示例:
public static void deleteStudent(ArrayList<Student>array){
Scanner in = new Scanner(System.in);
System.out.println("请输入要删除的学生学号:");
String sid = in.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("删除成功!");
}
在功能键调用
case "2":
System.out.println("删除学生");
deleteStudent(array);
break;
七、修改学生的代码编写
思路:
- 键盘录入选择修改学生
- 自定义一个方法,用于修改学生信息
提示信息 键盘录入要修改的学生学号 键盘录入要修改的学生信息 遍历集合修改对应学生信息 给出成功提示 调用方法 代码示例:
public static void updateStudent(ArrayList<Student>array){
Scanner in = new Scanner(System.in);
System.out.println("请输入要修改的学生学号:");
String sid = in.nextLine();
System.out.println("请输入学生新姓名:");
String name = in.nextLine();
System.out.println("请输入学生新年龄:");
String age = in.nextLine();
System.out.println("请输入学生新居住地:");
String address = in.nextLine();
Student s = new Student();
s.setSid(sid);
s.setName(name);
s.setAge(age);
s.setAddress(address);
for(int i=0;i<array.size();i++){
Student student = array.get(i);
if(student.getSid().equals(sid)){
array.set(i,s);
break;
}
}
System.out.println("修改成功!");
}
功能键里调用:
case "3":
System.out.println("修改学生");
updateStudent(array);
break;
八、项目结构和源码
1.一个学生类,一个学生管理类 2.全部代码
- 学生类
package StudentManage;
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 String getName() {
return name;
}
public String getAge() {
return age;
}
public String getAddress() {
return address;
}
public void setSid(String sid) {
this.sid = sid;
}
public void setName(String name) {
this.name = name;
}
public void setAge(String age) {
this.age = age;
}
public void setAddress(String address) {
this.address = address;
}
}
2.学生管理类
package StudentManage;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManage {
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.println("请输入你的选择:");
Scanner in = new Scanner(System.in);
String line = in.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);
}
}
}
public static void addStudent(ArrayList<Student> array) {
Scanner in = new Scanner(System.in);
System.out.println("请输入学生学号:");
String sid = in.nextLine();
System.out.println("请输入学生姓名:");
String name = in.nextLine();
System.out.println("请输入学生年龄:");
String age = in.nextLine();
System.out.println("请输入学生居住地:");
String address = in.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 findAllStudent(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\t" + s.getName() + "\t\t" + s.getAge() + "岁\t" + s.getAddress());
}
}
public static void deleteStudent(ArrayList<Student>array){
Scanner in = new Scanner(System.in);
System.out.println("请输入要删除的学生学号:");
String sid = in.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 updateStudent(ArrayList<Student>array){
Scanner in = new Scanner(System.in);
System.out.println("请输入要修改的学生学号:");
String sid = in.nextLine();
System.out.println("请输入学生新姓名:");
String name = in.nextLine();
System.out.println("请输入学生新年龄:");
String age = in.nextLine();
System.out.println("请输入学生新居住地:");
String address = in.nextLine();
Student s = new Student();
s.setSid(sid);
s.setName(name);
s.setAge(age);
s.setAddress(address);
for(int i=0;i<array.size();i++){
Student student = array.get(i);
if(student.getSid().equals(sid)){
array.set(i,s);
break;
}
}
System.out.println("修改成功!");
}
}
总结
- 在b站黑马程序员那看的,从类与对象开始讲的知识点就是在为做简单学生管理系统做准备,还不错,讲的很细通俗易懂。
- 不理解也不着急,初学不可能看点视频看点书一点就通的,建议先学完一个体系,多跟着视频老师敲敲代码,照着书敲。不必在某一个点钻牛角尖,所谓船到桥头自然直,不断实践,就能理解了。听某个鹅厂大佬说的…
- 主要利用创建的学生类用学生对象不断进行相关操作
掌握相关方法调用学习文档和PPT:https://blog.csdn.net/weixin_51753483/article/details/119681547 4.经过调试,上面解释代码运行有点异常,学习理解直接使用第八部分的整段代码 5.录入两个字的名字和三个字以上的名字使用查看所有学生功能时不对称,不知道如何调试。
|