目录
1.学生管理系统
1.2 学生管理系统实现思路:
1.3 定义学生类
1.4 主界面的代码编写
1.5添加学生代码编写
1.6查看学生代码编写
1.8 删除学生代码编写
1.9 修改学生的代码编写
1.10解决删除/修改学生学号不存在问题
全部代码:
1. 定义学生类
2. 主界面的代码编写
3.添加学生代码编写
4. 查看学生代码编写
5. 删除学生代码编写
6. 修改学生代码编写
学生类: Student
成员变量: 学号: sid
姓名: name
年龄: age
居住地: address
构造方法:
无参构造
带四个参数构造
成员方法:
每个成员变量对应给出get/set方法
代码示例:
/*
学生类:Student
成员变量: 学号: sid
姓名: name
年龄: age
居住地:address
构造方法:
无参构造
带四个参数构造
成员方法:
每个成员变量对应给出get/set方法
代码示例:
*/
public class Student {
//成员变量: 学号: sid
// 姓名: name
// 年龄: age
// 居住地:address
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;
}
// 成员方法:
// 每个成员变量对应给出get/set方法
public void setSid(String sid) {
this.sid = sid;
}
public String getSid() {
return sid;
}
public void setname(String name){
this.name = name;
}
public String getname(){
return name;
}
public void setage(String age){
this.age = age;
}
public String getAge(){
return age;
}
public void setAddress(String address){
this.address= address;
}
public String getAddress(){
return address;
}
}
思路:
1.用输出语句完成主界面编写
2. 用Scanner实现键盘录入数据
3. 用Switch语句完成操作的选择
4.用循环完成再次回到主界面
思路:
1.用键盘录入选择添加学生
2.定义一个方法用于添加学生
(1)显示提示信息,提示要输入什么信息
(2)键盘录入学生对象所需的数据
(3)创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
(4)将学生对象添加到集合中保存
(5)给出添加成功提示
3.调用方法
代码示例:
思路:
1.用键盘录入选择添加学生
2.定义一个方法用于添加学生
(1)显示提示信息,提示要输入什么信息
(2)键盘录入学生对象所需的数据
(3)创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
(4)将学生对象添加到集合中保存
(5)给出添加成功提示
3.调用方法
*/
public static void addStudent(ArrayListarray){
//1.用键盘录入选择添加学生
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();
//(3)创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
Student s = new Student();
s.setSid(sid);
s.setname(name);
s.setage(age);
s.setAddress(address);
//将学生对象添加到集合中
array.add(s);
//给出添加成功提示
System.out.println("添加学生成功");
}
思路:
1.用键盘录入选择添加学生
2.定义一个方法用于查看学生信息
(1)显示表头信息
(2)将集合中数据取出来按照对应格式显示学生信息,年龄补充"岁"
3.调用方法
代码示例:
/*
1.用键盘录入选择添加学生
2.定义一个方法用于查看学生信息
(1)显示表头信息
(2)将集合中数据取出来按照对应格式显示学生信息,年龄补充"岁"
3.调用方法
*/
public static void findStudent(ArrayList array) {
//显示表头信息
System.out.println("学号\t姓名\t年龄\t居住地");
// 2)将集合中数据取出来按照对应格式显示学生信息,年龄补充"岁"
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.定义一个方法,用于删除学生信息
(1)显示提示信息
(2)键盘录入要删除的学生学号
(3)遍历集合将对应学生对象从集合中删除
(4)给出删除成功提示
3.调用方法
代码示例:
public static void deleteStudent(ArrayList array){
// 1.用键盘录入选择删除的学生信息
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要删除的学生学号: ");
String sid = sc.nextLine();
//遍历集合将对应学生对象从集合中删除
for(int i = 0;i
思路:
1.用键录入选择修改的学生信息’
2.定义一个方法,用于修改学生信息
(1)显示提示信息
(2)键盘录入要修改的学生学号
(3)键盘录入要修改的学生信息
(4)遍历集合修改对应的学生信息
(5)给出修改成功提示
3.调用方法
代码示例:
public static void updateStudent(ArrayList array) {
// 1.用键录入选择修改的学生信息’
Scanner sc = new Scanner(System.in);
//(1)显示提示信息
//
//(2)键盘录入要修改的学生学号
//
//(3)键盘录入要修改的学生信息
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);
//(4)遍历集合修改对应的学生信息
for(int i = 0;i< array.size();i++){
Student student = array.get(i);
if(student.getSid().equals(sid)){
array.set(i, s);
break;
}
}
//(5)给出修改成功提示
System.out.println("修改学生成功");
}
思路:
1.再删除/修改学生操作前,对学号是否存在进行判断
如果不存在,显示提示信息
如果存在,执行删除/修改
代码示例:
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("删除成功");
}
import java.util.ArrayList;
import java.util.Scanner;
/* 学生管理系统
思路:
1.用输出语句完成主界面编写
2. 用Scanner实现键盘录入数据
3. 用Switch语句完成操作的选择
4.用循环完成再次回到主界面
*/
public class StudentManager {
public static void main(String[] args) {
//创建集合对象用于存储学生对象
ArrayList array = new ArrayList();
//4.用循环完成再次回到主界面
while (true) {
//1.用输出语句完成主界面编写
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("请输入你的选择: ");
//2. 用Scanner实现键盘录入数据
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
//3. 用Switch语句完成操作的选择
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("查看所有学生");
findStudent(array);
break;
case "5":
System.out.println("谢谢使用!");
// break;
System.exit(0);//JVM退出,Java虚拟机
}
}
}
/*
思路:
1.用键盘录入选择添加学生
2.定义一个方法用于添加学生
(1)显示提示信息,提示要输入什么信息
(2)键盘录入学生对象所需的数据
(3)创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
(4)将学生对象添加到集合中保存
(5)给出添加成功提示
3.调用方法
*/
public static void addStudent(ArrayList array) {
//1.用键盘录入选择添加学生
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();
//(3)创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
Student s = new Student();
s.setSid(sid);
s.setname(name);
s.setage(age);
s.setAddress(address);
//将学生对象添加到集合中
array.add(s);
//给出添加成功提示
System.out.println("添加学生成功");
}
/*
1.用键盘录入选择添加学生
2.定义一个方法用于查看学生信息
(1)显示表头信息
(2)将集合中数据取出来按照对应格式显示学生信息,年龄补充"岁"
3.调用方法
*/
public static void findStudent(ArrayList array) {
//判断集合中是否有数据,如果没有提示信息
if (array.size() == 0) {
System.out.println("无信息,请先添加学生信息");
return;//为了让程序不在往下执行
}
//显示表头信息
System.out.println("学号\t\t姓名\t\t年龄\t\t居住地");
// 2)将集合中数据取出来按照对应格式显示学生信息,年龄补充"岁"
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\t" + s.getAddress());
}
}
public static void deleteStudent(ArrayList array) {
// 1.用键盘录入选择删除的学生信息
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要删除的学生学号: ");
String sid = sc.nextLine();
//遍历集合将对应学生对象从集合中删除
//1.再删除/修改学生操作前,对学号是否存在进行判断
//
//如果不存在,显示提示信息
//
//如果存在,执行删除/修改
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("删除成功");
}
}
// 2.定义一个方法,用于修改学生信息
public static void updateStudent(ArrayList array) {
// 1.用键录入选择修改的学生信息’
Scanner sc = new Scanner(System.in);
//(1)显示提示信息
//
//(2)键盘录入要修改的学生学号
//
//(3)键盘录入要修改的学生信息
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);
//(4)遍历集合修改对应的学生信息
int index =-1;
for(int i = 0;i< array.size();i++) {
Student student = array.get(i);
if (student.getSid().equals(sid)) {
index = i;
array.set(i, s);
break;
}
}
if(index ==-1){
System.out.println("该信息不存在,请重新输入");
}else{
array.remove(index);
System.out.println("修改成功");
}
}
}