一个java控制台显示菜单的简单系统,采用了分类思想。
主页面的代码
package com.ithema.edu.info.manager.entry;
import com.ithema.edu.info.manager.controller.StudentController;
import com.ithema.edu.info.manager.controller.TeacherController;
import com.ithema.edu.info.manager.domain.Student;
import com.ithema.edu.info.manager.domain.Teacher;
import java.util.Scanner;
public class InfoManagerEntry {
public static void main(String[] args) {
while (true) {
Scanner sc = new Scanner(System.in);
System.out.println("--------欢迎来到黑马信息管理系统--------");
System.out.println("请输入您的选择: 1.学生管理 2.老师管理 3.退出");
String choice = sc.next();
switch(choice){
case "1":
//System.out.println("学生管理");
StudentController studentController =new StudentController();
studentController.start();
break;
case "2":
// System.out.println("老师管理");break;
TeacherController teacherController = new TeacherController();
teacherController.start();
break;
case "3":
System.out.println("感谢你的使用");
System.exit(0);
break;
default:
System.out.println("输入有误");break;
}
下面是学生类
package com.ithema.edu.info.manager.controller;
import com.ithema.edu.info.manager.domain.Student;
import com.ithema.edu.info.manager.domain.Teacher;
import com.ithema.edu.info.manager.service.StudentService;
import com.ithema.edu.info.manager.service.TeacherService;
import java.util.Scanner;
public class StudentController {
StudentService studentService = new StudentService();
Scanner sc = new Scanner(System.in);
public void start() {
// Scanner sc = new Scanner(System.in);
loop: while (true) {
System.out.println("--------欢迎来到 <学生> 管理系统--------");
System.out.println("请输入您的选择: 1.添加学生 2.删除学生 3.修改学生 4.查看学生 5.退出");
String choice = sc.next();
switch (choice) {
case "1":
// System.out.println("添加学生");
addStudent();
break;
case "2":
// System.out.println("删除学生");
deleteStudentById();
break;
case "3":
//System.out.println("修改学生");
updateStudent();
break;
case "4":
// System.out.println("查找学生");
findAllStudent();
break;
case "5":
//System.out.println("退出");
break loop;
default:
System.out.println("输入有误");
break;
}
}
}
public void updateStudent() {
String updateId;
while (true){
System.out.println("请输入要修改的学号");
updateId = sc.next();
boolean flag = studentService.isExists(updateId);
if(!flag){
System.out.println("输入的ID不存在");
}else {
break;
}
}
System.out.println("请输入姓名");
String name = sc.next();
System.out.println("请输入年龄");
String age = sc.next();
System.out.println("请输入生日");
String birthday = sc.next();
Student newStudent =new Student();
newStudent.setBirthday(birthday);
newStudent.setAge(age);
newStudent.setId(updateId);
newStudent.setName(name);
studentService.updateStudent(newStudent,updateId);
}
public void deleteStudentById() {
String delId;
while (true){
System.out.println("请输入要删除的学号");
delId = sc.next();
boolean flag = studentService.isExists(delId);
if(!flag){
System.out.println("输入的ID不存在");
}else {
break;
}
}
studentService.deleteStudentById(delId);
System.out.println("删除成功");
}
public void findAllStudent() {
Student[] stus = studentService.findAllStudent();
if (stus == null) {
System.out.println("查无信息");
return;
}
for (int i = 0; i < stus.length; i++) {
Student stu = stus[i];
if (stu != null) {
System.out.println(stu.getId() + "\t"+ stu.getName() + "\t"+stu.getAge() + "\t\t"+stu.getBirthday());
}
}
}
public void addStudent() {
String id;
while (true) {
System.out.println("输入学生id");
id = sc.next();
boolean flag = studentService.isExists(id);
if (flag) {
System.out.println("学号被占用");
} else {
break;
}
}
System.out.println("输入学生姓名");
String name = sc.next();
System.out.println("输入学生年龄");
String age = sc.next();
System.out.println("输入学生生日");
String birthday = sc.next();
Student stu = new Student();
stu.setId(id);
stu.setName(name);
stu.setAge(age);
stu.setBirthday(birthday);
boolean result = studentService.addStudent(stu);
if (result) {
System.out.println("添加成功");
} else {
System.out.println("添加失败");
}
}
}
package com.ithema.edu.info.manager.service;
import com.ithema.edu.info.manager.dao.StudentDao;
import com.ithema.edu.info.manager.domain.Student;
public class StudentService {
private StudentDao studentDao = new StudentDao();
public boolean addStudent(Student stu) {
return studentDao.addStudent(stu);
}
public boolean isExists(String id) {
Student[] stus = studentDao.findAllStudent();
boolean exists = false;
for (int i = 0; i < stus.length; i++) {
Student student = stus[i];
if (student != null && student.getId().equals(id)) {
exists = true;
break;
}
}
return exists;
}
public Student[] findAllStudent() {
Student[] allStudent = studentDao.findAllStudent();
boolean flag = false;
for (int i = 0; i < allStudent.length; i++) {
Student stu = allStudent[i];
if (stu != null) {
flag = true;
break;
}
}
if (flag) {
return allStudent;
} else {
return null;
}
}
public void deleteStudentById(String delId) {
studentDao.deleteStudentById(delId);
}
public void updateStudent(Student newStudent, String updateId) {
studentDao.updateStudenet(newStudent, updateId);
}
}
package com.ithema.edu.info.manager.dao;
import com.ithema.edu.info.manager.domain.Student;
public class StudentDao {
private static Student[] stus = new Student[5];
public boolean addStudent(Student stu) {
int index = -1;
for(int i =0;i<stus.length;i++)
{
Student student =stus[i];
if(student == null)
{
index=i;
break;
}
}
if(index == -1)
{
return false;
}else{
stus[index]=stu;
return true;
}
}
public Student[] findAllStudent() {
return stus;
}
public void deleteStudentById(String delId) {
int index = getindex(delId);
stus[index]=null;
}
public int getindex(String id){
int index =-1;
for (int i = 0; i < stus.length; i++) {
Student stu = stus[i];
if(stu !=null&&stu.getId().equals(id)){
index=i;
break;
}
}
return index;
}
public void updateStudenet(Student newStudent, String updateId) {
int index = getindex(updateId);
stus[index]=newStudent;
}
}
package com.ithema.edu.info.manager.domain;
public class Student {
private String id;
private String name;
private String age;
private String birthday;
public Student() {
}
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 getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public Student(String id, String name, String age, String birthday) {
this.id = id;
this.name = name;
this.age = age;
this.birthday = birthday;
}
}
老师类我就不粘贴了,都一样! 菜鸟第一次发帖,大神莫笑