黑马程序员技术交流社区
标题:
javaEE12期技术贴1
[打印本页]
作者:
奶糖大白兔
时间:
2018-4-3 22:00
标题:
javaEE12期技术贴1
学生管理系统的编写通过自己的将分析写出来,然后根据思路一步步写出学生管理系统
经过一次次的修改,最终得到了下面完整的学生管理系统
可以说是自己的第一个比较系统编程
package com.itheima.Test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
public class myStudentManager {
public static void main(String[] args) throws IOException {
//编辑学生管理系统主界面
String file = "stu.txt";
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 退出");
//键盘录入要查找的选项数据
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要选择的项目:");
int a = sc.nextInt();
switch (a) {
case 1:
//查看所有学生信息
checkAllStudent(file);
break;
case 2:
//添加学生信息
addStudent(file);
break;
case 3:
//修改学生信息
amendStudent(file);
break;
case 4:
//删除学生信息
deleteStudent(file);
break;
case 5:
//退出
default:
System.out.println("谢谢你的使用!");
System.exit(0);
break;
}
}
}
public static void readerData(String file,ArrayList<Student> list) throws IOException{
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while((line = br.readLine()) != null){
String[] arr = line.split(",");
Student s = new Student();
s.setId(arr[0]);
s.setName(arr[1]);
s.setAge(arr[2]);
s.setAddress(arr[3]);
list.add(s);
}
br.close();
}
public static void writerData(String file,ArrayList<Student> list) throws IOException {
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
StringBuilder sb = new StringBuilder();
for (int i = 0; i < list.size(); i++) {
Student s = list.get(i);
sb.append(s.getId()).append(",").append(s.getName()).append(",").append(s.getAge()).append(",").append(s.getAddress());
bw.write(sb.toString());
bw.newLine();
bw.flush();
}
bw.close();
}
//查看所有学生
public static void checkAllStudent(String file) throws IOException{
//判断集合长度是否不等于0,不等于零则输出所有信息
ArrayList<Student> list = new ArrayList<Student>();
readerData(file,list);
if(list.size() != 0){
for (int i = 0; i < list.size(); i++) {
System.out.println("学号\t姓名\t年龄\t地址\t");
System.out.println(list.get(i).getId()+"\t"+list.get(i).getName()+"\t"+list.get(i).getAge()+"\t"+list.get(i).getAddress());
}
}else{
//提示没有学生信息
System.out.println("目前暂时没用学生信息,请添加学生信息");
}
}
//添加学生信息
public static void addStudent(String file) throws IOException{
//键盘录入数据
ArrayList<Student> list = new ArrayList<Student>();
readerData(file,list);
Student s = new Student();
Scanner sc = new Scanner(System.in);
while(true){
System.out.println("请输入学生id:");
s.setId(sc.nextLine());
boolean flag = true;
//判断输入是否已经存在,如果不存在继续输入
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getId().equals(s.getId())) {
System.out.println("对不起你输入的学号已经存在,请重新输入:");
flag = false;
break;
}
}
if(flag){
break;
}
}
System.out.println("请输入学生姓名:");
s.setName(sc.nextLine());
System.out.println("请输入学生年龄:");
s.setAge(sc.nextLine());
System.out.println("请输入学生地址:");
s.setAddress(sc.nextLine());
list.add(s);
writerData(file,list);
System.out.println("添加成功");
}
//修改学生信息
public static void amendStudent(String file) throws IOException{
ArrayList<Student> list = new ArrayList<Student>();
readerData(file,list);
Scanner sc= new Scanner(System.in);
System.out.println("请输入要查找的学生id:");
String id = sc.nextLine();
//循环集合判断是否存在学号,存在则修改信息,不存在则提示错误
for (int i = 0; i < list.size(); i++) {
if(list.get(i).getId().equals(id)){
System.out.println("请输入学生姓名:");
list.get(i).setName(sc.nextLine());
System.out.println("请输入学生年龄:");
list.get(i).setAge(sc.nextLine());
System.out.println("请输入学生地址:");
list.get(i).setAddress(sc.nextLine());
return;
}
}
writerData(file,list);
System.out.println("您输入的学号不存在");
}
//删除学生信息
public static void deleteStudent(String file) throws IOException{
ArrayList<Student> list = new ArrayList<Student>();
readerData(file,list);
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除的学生id:");
String id = sc.nextLine();
//遍历数组如果存在id删除,不存在提示您输入的学号不存在
for (int i = 0; i < list.size(); i++) {
if(list.get(i).getId().equals(id)){
list.remove(i);
System.out.println("删除成功");
return;
}
}
writerData(file,list);
System.out.println("您输入的学号不存在");
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2