这是我初学java以来写的第一个大一点的小程序,在这里就跟大家一起来分享一下。
首先给大家说一下做这个小程序的需求:
每个班有一个老师,每个班可以有多个学生。
学生的增删改查
老师的增删改查
学生可以转班
思路:1、我们实现这一个功能因为还没学习数据库话,首先应该想到要用到数组的方式来实现;
2、构思:结构要安排合理,什么部分该实现什么功能,以及应该先实现什么再做什么,一步一步的写;
3、先不要管代码量有多少,以实现功能为主要目的;
4、实现功能后,再考虑代码的优化问题。
下面就是代码实现的部分:
第一步:我们要有一个主程序来运行,代码如下
import java.util.*;
import java.util.List;
import java.util.Scanner;
import org.lanqiao.service.ClassService;
import org.lanqiao.service.StudentService;
import org.lanqiao.service.TeacherService;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ClassService cs = new ClassService();
StudentService ss = new StudentService();
TeacherService ts = new TeacherService();
a:while(true) {
System.out.println("=======班级管理======");
System.out.println("1、班级信息管理");
System.out.println("2、老师信息管理");
System.out.println("3、学生信息管理");
System.out.println("4、退出程序");
int input = sc.nextInt();
switch (input) {
case 1:
cs.checkAll(sc);
break;
case 2:
ts.teacherAll(sc);
break;
case 3:
ss.studentAll(sc);
break;
case 4:
System.out.println("欢迎下次使用!");
System.exit(0);
break a;
default:
System.out.println("没有此功能!!!");
break;
}
}
}
}
第二步:服务类
这里要说的就是我把实现功能都在写在Service类里面:
1、班级的Service类如下:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import org.lanqiao.school.Clazz;
import org.lanqiao.school.Student;
import org.lanqiao.school.Teacher;
public class ClassService {
// 创建班级容器
static List<Clazz> clazz = new ArrayList<>();
static {
Teacher t1 = new Teacher(1, "AA", "AA@lanqiao.org", "英语");
Teacher t2 = new Teacher(2, "BB", "BB@lanqiao.org", "语文");
List<Student> student1 = new ArrayList<>();
student1.add(new Student(1, "aa", "aa@lanqiao.org", 85));
student1.add(new Student(2, "bb", "bb@lanqiao.org", 90));
List<Student> student2 = new ArrayList<>();
student2.add(new Student(3, "cc", "cc@lanqiao.org", 95));
student2.add(new Student(4, "dd", "dd@lanqiao.org", 100));
student2.add(new Student(5, "ee", "ee@lanqiao.org", 75));
clazz.add(new Clazz(t1, student1, 1));
clazz.add(new Clazz(t2, student2, 2));
}
public static void checkAll(Scanner sc) {
d: 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、返回上级菜单");
int input = sc.nextInt();
switch (input) {
case 1:
check(sc);
break;
case 2:
check1(sc);
break;
case 3:
add(sc);
break;
case 4:
delete(sc);
break;
case 5:
break d;