62,625
社区成员
发帖
与我相关
我的任务
分享package demo05;
//学生类
public class Student {
private int id;
private int clazz;
private String sex;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getClazz() {
return clazz;
}
public void setClazz(int clazz) {
this.clazz = clazz;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Student(int id, int clazz, String sex, String name) {
this.id = id;
this.clazz = clazz;
this.sex = sex;
this.name = name;
}
}
package demo05;
import java.util.ArrayList;
import java.util.Iterator;
//学生管理类
public class EmpStudent {
private ArrayList<Student> lst = null;
public EmpStudent() {
lst = new ArrayList();
}
//加入学生
public void add(Student student) {
lst.add(student);
}
//查询学号学生
public void showInfo(int id) {
for (Student student : lst) {
if (student.getId() == id) {
System.out.printf("姓名:%s\t\t性别%s\t\t班级%d\t\t学号%d\n", student.getName(), student.getSex(), student.getClazz(), student.getId());
}
}
}
//查询姓名学生
public void showName(String name) {
for (Student student : lst) {
if (student.getName().equals(name)) {
System.out.printf("姓名:%s\t\t性别%s\t\t班级%d\t\t学号%d\n", student.getName(), student.getSex(), student.getClazz(), student.getId());
}
}
}
//查询班级学生
public void showClazz(int clazz) {
for (Student student : lst) {
if (student.getClazz() == clazz) {
System.out.printf("姓名:%s\t\t性别%s\t\t班级%d\t\t学号%d\n", student.getName(), student.getSex(), student.getClazz(), student.getId());
}
}
}
//判断删除学生
public void removeStudent(int id) {
Iterator<Student> it = lst.iterator();
while (it.hasNext()) {
Student st = it.next();
if (st.getId() == id) {
it.remove();
System.out.printf("已将学生%s删除!\n", st.getName());
}
}
}
//修改信息
public void update(int id, String newname, int newclazz, String newsex) {
Iterator<Student> it = lst.iterator();
while (it.hasNext()) {
Student st = it.next();
if (st.getId() == id) {
st.setName(newname);
st.setClazz(newclazz);
st.setSex(newsex);
System.out.printf("修改成功!\n");
}
}
}
//学生列表
public void stulist() {
for (Student student : lst) {
System.out.printf("%s\t\t%s\t\t\t%d\t\t\t%d\n",student.getName(),student.getSex(),student.getClazz(),student.getId());
}
}
}
package demo05;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
EmpStudent empStudent = new EmpStudent();
Scanner sc = new Scanner(System.in);
xh:
while (true) {
System.out.printf("================学生管理系统================\n");
System.out.printf("1.添加学生\n2.输入学号查询学生\n3.输入姓名查询学生\n4.查询班级学生\n5.删除学生\n6.修改学生信息\n7.学生列表\n8.退出系统\n");
System.out.printf("============================================\n");
switch (sc.nextInt()) {
case 1:
System.out.printf("请输入学生学号");
int a = sc.nextInt();
System.out.printf("请输入学生班级");
int b = sc.nextInt();
System.out.printf("请输入学生性别");
String c = sc.next();
System.out.printf("请输入学生姓名");
String d = sc.next();
Student s1 = new Student(a, b, c, d);
empStudent.add(s1);
break;
case 2:
System.out.printf("请输入学生学号");
empStudent.showInfo(sc.nextInt());
break;
case 3:
System.out.printf("请输入学生姓名");
empStudent.showName(sc.next());
break;
case 4:
System.out.printf("请输入班级:");
empStudent.showClazz(sc.nextInt());
break;
case 5:
System.out.printf("请输入学生学号:");
empStudent.removeStudent(sc.nextInt());
break;
case 6:
System.out.printf("请输入要修改的学生学号:");
int r = sc.nextInt();
System.out.printf("请输入修改的姓名");
String n = sc.next();
System.out.printf("请输入修改的班级");
int z = sc.nextInt();
System.out.printf("请输入修改的性别");
String h = sc.next();
empStudent.update(r, n, z, h);
break;
case 7:
System.out.printf("姓名\t\t性别\t\t班级\t\t学号\n");
empStudent.stulist();
break;
case 8:
break xh;
}
}
}
}

package cn.qn.demo01;
import java.util.Arrays;
//学号,班级,性别,姓名
public class Student extends Clazz implements Method {// 学生类继承抽象类班级 用来提取抽象方法
static int id;
static int clazz;
static String sex;
static String name;
public Student() {
super();
}
public Student(int id, int clazz, String sex, String name) {// 创建一个学生的构造方法
super();
this.id = id;
this.clazz = clazz;
this.sex = sex;
this.name = name;
}
static Student[] arr = new Student[10];
static int count;
// public void init() {
// Student[]arr=new Student[10];
// arr[0]=new Student(24,1,'女',"啊嘛");
// }
// }
public void addStudent(Student s) {
for (int i = 0; i < arr.length; i++) {// 遍历数组
if (arr.length == count) {
arr = Arrays.copyOf(arr, arr.length + 1);// 如果数组长度等于预先设置的count 就把数组长度加一个再复制成一个新的arr
}
}
arr[count] = s;// 此时count就代表了这个数组最后的哪个元素下标 这个对象s被添加到数组里的最后一位
count++;// 下一次再添加的时候 数组里就多出一个null位置 放新的添加元素
}
public void removeStudent(int id) {
int index = -1;
for (int i = 0; i < count; i++) {
if (arr[i].id == id) {
index = i;// 遍历数组 找到这个id对应的数组里的元素 并把这个元素的下标赋值给index
break;
}
}
if (index == -1) {// 说实话从这里开始我也不是很明白了
return;
}
System.arraycopy(arr, count + 1, arr, index, count - index - 1);// 这个赋值新的数组也理解不通
count--;
}
public boolean updateStudent(Student s) {
for (int i = 0; i < count; i++) {
if (arr[i].id == s.id) {// 遍历数组 找到这个数组里id与输入参数s的id相同的元素
arr[i] = s;
return true;
}
}
return false;
}
public Student queryStudent(int id) {
for (int i = 0; i < count; i++) {
if (arr[i].id == id) {
return arr[i];// 同上 遍历 找到相同的元素 这个元素就是我们要找的学生对象 然后返回学生对象.
}
}
return null;
}
}
package cn.qn.demo01;
public abstract class Clazz implements Method{
public abstract void addStudent(Student s);
public abstract void removeStudent(int id);
public abstract boolean updateStudent(Student s);
public abstract Student queryStudent(int id);
}
package cn.qn.demo01;
public interface Method {
void removeStudent(int id);
Student queryStudent(int id);
}package cn.qn.demo01;
import java.util.Scanner;
public class Test extends Student {
public static void main(String[] args) {
Student s = new Student();
Scanner sc = new Scanner(System.in);
xh: while (true) {
System.out.println("***********************************");
System.out.println("=============班级管理系统=============");
System.out.println("1.当前班级学生列表\n2.增添学生\n3.删除学生\n4.修改学生信息\n5.退出系统");
System.out.println("***********************************");
System.out.println();
switch (sc.nextInt()) {
case 1:
System.out.println("输入1:当前班级学生列表\n学号\t班级\t性别\t年龄");
// s.init();
for (int i = 0; i < count; i++) {
System.out.println(arr[i].id + "\t" + arr[i].clazz + "\t" + arr[i].sex + "\t" + arr[i].name);
}
break;
case 2:
System.out.println("输入2:增添学生");
System.out.println("是否继续进行添加学生操作:1.是\t2.否(返回菜单)");
if (sc.nextInt() == 1) {
System.out.println("请输入添加学生学号");
s.id = sc.nextInt();
System.out.println("请输入添加学生班级");
s.clazz = sc.nextInt();
System.out.println("请输入添加学生性别");
s.sex = sc.next();
System.out.println("请输入添加学生姓名");
s.name = sc.next();
Student s1 = new Student(s.id, s.clazz, s.sex, s.name);
s.addStudent(s1);
System.out.println("添加学生完成!");
break;
} else if (sc.nextInt() == 2) {
break;
}
case 3:
System.out.println("输入3:删除学生");
System.out.println("请输入学生id");
s.removeStudent(sc.nextInt());
System.out.println("删除学生完成!");
break;
case 4:
System.out.println("输入4:修改学生信息");
System.out.println("请输入要修改学生的学号");
// s.id=sc.nextInt();
s.queryStudent(sc.nextInt());
System.out.println("请输入要修改后的学号:");
s.updateStudent(s.queryStudent(sc.nextInt()));
System.out.println("修改学生完成!");
break;
case 5:
System.out.println("退出系统");
break xh;
}
}
}
}package cn.qn.demo03;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.Scanner;
public class Test extends Student {
public static void main(String[] args) {
Collection<Student> col = new ArrayList<Student>();
Student s1 = new Student(0, 0, null, null);
col.add(s1);
Scanner sc = new Scanner(System.in);
xh:
while (true) {
System.out.println("***********************************");
System.out.println("=============班级管理系统=============");
System.out.println("1.当前班级学生列表\n2.增添学生\n3.删除学生\n4.修改学生信息\n5.退出系统");
System.out.println("***********************************");
System.out.println();
switch (sc.nextInt()) {
case 1:
System.out.println("输入1:当前班级学生列表\n学号\t班级\t性别\t年龄");
// s.init();
for (int i = 0; i < col.size(); i++) {
System.out.println(col.toString());
}
break;
case 2:
System.out.println("输入2:增添学生");
System.out.println("是否继续进行添加学生操作:1.是\t2.否(返回菜单)");
if (sc.nextInt() == 1) {
Iterator<Student> it = col.iterator();
while (it.hasNext()) {
Student a = it.next();
System.out.println("请输入添加学生学号");
a.setId(sc.nextInt());
System.out.println("请输入添加学生班级");
a.setClazz(sc.nextInt());
System.out.println("请输入添加学生性别");
a.setSex(sc.next());
System.out.println("请输入添加学生姓名");
a.setName(sc.next());
col.add(a);
System.out.println("添加学生完成!");
break;
}
break;
} else if (sc.nextInt() == 2) {
break;
}
case 3:
System.out.println("输入3:删除学生");
System.out.println("请输入学生学号");
Iterator<Student> it = col.iterator();
while (it.hasNext()) {
Student a = it.next();
for (Student r : col) {
if (r.getId() == sc.nextInt()) {
it.remove();
}
}
}
System.out.println("删除学生完成!");
break;
// case 4:
// System.out.println("输入4:修改学生信息");
// System.out.println("请输入要修改学生的学号");
//// s.id=sc.nextInt();
// s.queryStudent(sc.nextInt());
// System.out.println("请输入要修改后的学号:");
// s.updateStudent(s.queryStudent(sc.nextInt()));
// System.out.println("修改学生完成!");
// break;
case 5:
System.out.println("退出系统");
break xh;
}
}
}
}