- 功能简介
- 1.添加学生信息
- 2.删除学生信息
- 3.修改学生信息
- 4.查看所有学生信息
- 5.退出系统
- 总结
学生信息存储学号,姓名,年龄以及所在地
功能:
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生信息
5 退出
添加学生时可以判断是否输入重复的学号;删除学生信息时需要判断学号是否存在。
简单演示:
当已经添加了001之后,继续添加时会提示学号重复。
删除001,查看一下结果
只有002的信息,说明001已经被删除。
当删除的学号不存在时
将002的学生姓名等进行修改,最后显示一下,成功。
这个功能比较简单
源代码:
Student类
public class Stu1 {
String id;
String name;
String age;
String part;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
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 getPart() {
return part;
}
public void setPart(String part) {
this.part = part;
}
public Stu1(String id,String name,String age,String part) {
this.age=age;
this.name = name;
this.id=id;
this.part=part;
}
}
import java.util.ArrayList;
import java.util.Scanner;
public class Manager {
public static void main(String[] args) {
ArrayList<Stu1> stu = new ArrayList<>();
System.out.println("欢迎使用!");
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);
int a = in.nextInt();
switch (a) {
case 1:
//System.out.println("添加学生");
AddStudent(stu);
break;
case 2:
//System.out.println("删除学生");
Studelete(stu);
break;
case 3:
//System.out.println("修改学生");
ResetStu(stu);
break;
case 4:
//System.out.println("查看所有学生信息");
StuShow(stu);
break;
case 5:
System.out.println("谢谢使用");
//break;
System.exit(0);//jvm退出
}
}
}
//添加学生信息,键盘输入然后加入ArrayList中
public static void AddStudent(ArrayList<Stu1> stu) {
Scanner in = new Scanner(System.in);
String id;
while (true) {
System.out.println("请输入学号:");
id = in.nextLine();
boolean flag = Repeat(stu, id);
if (flag) {
System.out.println("学号重复,请重新输入");
} else
break;
}
System.out.println("请输入姓名:");
String name = in.nextLine();
System.out.println("请输入年龄:");
String age = in.nextLine();
System.out.println("请输入地域:");
String part = in.nextLine();
//将录入的信息加入Stu1这个类,然后加入到ArrayList中
Stu1 s1 = new Stu1(id,name,age,part);
//添加到集合里
stu.add(s1);
System.out.println("添加成功");
}
public static boolean Repeat(ArrayList<Stu1> stu,String id){
boolean flag = false;
for(int i=0;i< stu.size();i++)
{
Stu1 s = stu.get(i);
if(s.getId().equals(id))
{flag = true;
break;}
}
return flag;
}
//查看学生信息
public static void StuShow(ArrayList<Stu1> stu){
if(stu.size()==0)
System.out.println("请先添加学生信息");
else
{System.out.println("学号\t姓名\t年龄\t居住地");
//循环输出所有学生信息
for(int i=0;i<stu.size();i++)
{
Stu1 s = stu.get(i);
System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getAge()+"\t"+s.getPart());
}
}
}
//删除学生信息
public static void Studelete(ArrayList<Stu1> stu){
System.out.println("请选择要删除的学生学号");
Scanner in = new Scanner(System.in);
String s = in.nextLine();
//先设置一个flag用来判断要删除的学号是否存在
int flag = -1;
for(int i=0;i<stu.size();i++) {
//新建学生对象s1得到集合中的元素
Stu1 s1 = stu.get(i);
if(s1.getId().equals(s)) {
stu.remove(i);
flag=1;
break;
}
}
if(flag==1)
System.out.println("删除成功");
else
System.out.println("你所删除的学生学号不存在");
}
//修改学生信息
public static void ResetStu(ArrayList<Stu1> stu){
Scanner in = new Scanner(System.in);
System.out.println("输入需要修改的学生学号");
String id = in.nextLine();
System.out.println("输入新姓名");
String name = in.nextLine();
System.out.println("输入新年龄");
String age = in.nextLine();
System.out.println("输入新地区");
String part = in.nextLine();
//先存储信息
Stu1 sc = new Stu1(id,name,age,part);
//在stu中遍历,找到对应的进行修改
for(int i=0;i<stu.size();i++)
{
Stu1 s1 = stu.get(i);
if(s1.getId().equals(id))
{
//用set方法进行修改
stu.set(i,sc);
break;
}
}
System.out.println("修改成功");
}
}
总结
有一些需要注意的地方吧。
比如,怎么将新输入的学生信息进行修改,需要新建对象,再将对应的值修改到集合中对应的位置,往集合中添加元素也是类似的 *** 作。
还有对于不存在的学号的删除,需要定义flag来判断是否学号存在。
再有就是学号重复问题,当判断学号重复之后,要再输出提示信息,输入新的学号,就要循环。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)