1.首先添加学生类

2.再实现增删查改

在编程中遇到的小问题:

1.case语句中代码重复的话,可以注释掉,程序依然会向下执行

2.编写查询时,要考虑没有学生的情况

3.编写增加和修改和查询时,要以唯一识别的学号进行操作

4.学号是唯一的,可通过遍历集合中的序号与输入键盘中的学号进行比较

项目截图:

运行截图:

程序源代码:

Student.java

package Students;

public class Students {

private String sno;

private String sna;

private String add;

public Students() {

}

public Students(String sno, String sna, String add) {

super();

this.sno = sno;

this.sna = sna;

this.add = add;

}

public String getSno() {

return sno;

}

public void setSno(String sno) {

this.sno = sno;

}

public String getSna() {

return sna;

}

public void setSna(String sna) {

this.sna = sna;

}

public String getAdd() {

return add;

}

public void setAdd(String add) {

this.add = add;

}

}

Test.java

package Students;

import java.util.ArrayList;

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

//创建集合对象,用于存储学生数据

ArrayList 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 choice=sc.nextLine();

switch(choice) {

case"1":

addStudents(array);

break;

case"2":

deleteStudents(array);

break;

case"3":

findAllStudents(array);

break;

case"4":

updateStudents(array);

break;

case"5":

//System.out.println("谢谢你的使用");

//break;

//代码重复,输入5会继续向下执行

default:

System.out.println("谢谢你的使用");

System.exit(0);//java虚拟机退出

break;

}

}

}

//添加学生

public static void addStudents(ArrayList array) {

Scanner sc=new Scanner(System.in);

//为了让sno能被访问,把它放在循环的外面

String Sno;

while(true) {

System.out.println("请输入学生学号:");

//String Sno=sc.nextLine();

Sno=sc.nextLine();

//定义标记

boolean flag=false;

for(int x=0;x

Students s=array.get(x);

//获取该学生的学号,和键盘录入的学号进行比较

if(s.getSno().equals(Sno)) {

flag=true;//说明学号被占用

break;

}

}

if(flag) {

System.out.println("该学号已存在,请重新输入");

}else {

break;

}

}

System.out.println("请输入学生姓名:");

String Sna=sc.nextLine();

System.out.println("请输入学生地址:");

String Add=sc.nextLine();

//创建学生对象

Students s=new Students();

s.setSno(Sno);

s.setSna(Sna);

s.setAdd(Add);

//把学生对象作为元素添加到集合

array.add(s);

System.out.println("添加成功");

}

//查询学生

public static void findAllStudents(ArrayList array) {

//首先判断集合的长度,等于0的话程序就不往下走

if(array.size()==0){

System.out.println("不好意思,目前没有学生,请回去重新选择你的操作");

return;//不让程序往下执行

}

System.out.println("学号\t\t姓名\t地址");//\t是一个tab键的位置

for(int x=0;x

Students s=array.get(x);

System.out.println(s.getSno()+"\t"+s.getSna()+"\t"+s.getAdd());

}

}

//删除学生

public static void deleteStudents(ArrayList array) {

Scanner sc=new Scanner(System.in);

System.out.println("请输入你要删除的学生的学号");

String Sno=sc.nextLine();

//创建一个索引值

int index=-1;

for(int x=0;x

Students s=array.get(x);

if(s.getSno().equals(Sno)) {

index=x;

break;

}

}

if(index==-1) {

System.out.println("您要删除的学生信息不存在,请重新选择");

}else {

array.remove(index);

System.out.println("删除学生成功");

}

}

//编辑学生

public static void updateStudents(ArrayList array) {

Scanner sc=new Scanner(System.in);

System.out.println("请输入你要修改的学生的学号");

String Sno=sc.nextLine();

//创建一个索引值

int index=-1;

for(int x=0;x

Students s=array.get(x);

if(s.getSno().equals(Sno)) {

index=x;

break;

}

}

if(index==-1) {

System.out.println("您要修改的学生信息不存在,请重新选择");

}else {

System.out.println("请输入学生新姓名:");

String Sna=sc.nextLine();

System.out.println("请输入学生新地址:");

String Add=sc.nextLine();

//创建学生对象

Students s=new Students();

s.setSno(Sno);

s.setSna(Sna);

s.setAdd(Add);

//修改学生中的集合对象

array.set(index, s);

System.out.println("修改学生成功");

}

}

}

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐