package com.test;
import java.util.ArrayList;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.File;
import java.io.Writer;
import java.io.Reader;
public class Test {
/**
* @param args teenway 2020/3/5
* @function ArrayList实现学生信息管理系统
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
StuManager stuManager=new StuManager();
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
while(true){
stuManager.initData();
stuManager.initMenu();
try {
int option=Integer.parseInt(br.readLine());
switch(option){
case 1:
System.out.println("请输入学号:");
String stuNo1=br.readLine();
System.out.println("请输入姓名:");
String name=br.readLine();
System.out.println("请输入考试成绩:");
float score1=Float.parseFloat(br.readLine());
Student stu=new Student(stuNo1,name,score1);
stuManager.addStu(stu);
break;
case 2:
System.out.println("请输入学号:");
String stuNo2=br.readLine();
stuManager.findStu(stuNo2);
break;
case 3:
System.out.println("请输入学号:");
String stuNo3=br.readLine();
System.out.println("请输入考试成绩:");
float score2=Float.parseFloat(br.readLine());
stuManager.updateScore(stuNo3, score2);
break;
case 4:
System.out.println("请输入学号:");
String stuNo4=br.readLine();
stuManager.delStu(stuNo4);
break;
case 5:
stuManager.showAll();
break;
case 0:
stuManager.save();
System.exit(0);
}
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
}
class StuManager{
private ArrayList<Student> al=null;
public StuManager(){
al=new ArrayList<Student>();
}
/*
* 添加员工
* @params Student stu
*/
public void addStu(Student stu){
al.add(stu);
System.out.println("添加成功!");
}
/*
* 显示信息
*/
public void findStu(String StuNo){
for(int i=0;i<al.size();i++){
if(al.get(i).getStuNo().equals(StuNo)){
System.out.println("学号:"+al.get(i).getStuNo());
System.out.println("学生姓名"+al.get(i).getName());
System.out.println("考试成绩:"+al.get(i).getScore());
return;
}
}
System.out.println("没有该学生!");
}
/*
* 修改成绩
*/
public void updateScore(String StuNo,float newScore){
for(int i=0;i<al.size();i++){
if(al.get(i).getStuNo().equals(StuNo)){
al.get(i).setScore(newScore);
return;
}
}
System.out.println("没有该学生!");
}
/*
* 删除学生
*/
public void delStu(String stuNo){
for(int i=0;i<al.size();i++){
if(al.get(i).getStuNo().equals(stuNo)){
al.remove(i);
System.out.println("删除学生成功!");
} return;
}
System.out.println("没有该学生!");
}
/*
* 显示菜单
*/
public void initMenu(){
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("** 0.退出系统 **");
System.out.println("**********************");
}
/*
* 显示所有学生
*/
public void showAll(){
for(int i=0;i<al.size();i++){
System.out.println("学号:"+al.get(i).getStuNo());
System.out.println("姓名:"+al.get(i).getName());
System.out.println("考试成绩:"+al.get(i).getScore());
System.out.println("---------------------");
}
}
public void save(){
File f=new File("d:\\data.txt");
Writer out=null;
try {
out=new FileWriter(f);
out.write("学号\t姓名\t考试成绩\r\n");
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}
for(int i=0;i<al.size();i++){
try {
String score=al.get(i).getScore()+"";
out.write(al.get(i).getStuNo()+"\t"+al.get(i).getName()+"\t"+score+"\r\n");
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}
}
try {
out.close();
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}
}
public void initData(){
File f=new File("d:\\data.txt");
Reader in=null;
char c1[]=new char[1024];
int i=0;
try {
in=new FileReader(f);
i=in.read(c1);
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}
try {
in.close();
} catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
}
String str=new String(c1);
System.out.println(str);
String[] strs1=str.split("\n");
for(i=1;i<strs1.length;i++){
System.out.println(strs1[i]);
String[] strs2=strs1[i].split("\t");
System.out.println(strs2[strs2.length-1]);
for(int j=0;j<strs2.length;j++){
System.out.println(strs2[j]);
// Student stu=new Student(strs2[j],strs2[j+1],Float.parseFloat(strs2[j]));
// al.add(stu);
}
}
}
}
class Student{
private String stuNo;
private String name;
private float score;
public Student(String stuNo,String name,float score){
this.stuNo=stuNo;
this.name=name;
this.score=score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public float getScore() {
return score;
}
public void setScore(float score) {
this.score = score;
}
public String getStuNo() {
return stuNo;
}
public void setStuNo(String stuNo) {
this.stuNo = stuNo;
}
}
运行结果


本文介绍了一个使用Java和ArrayList实现的学生信息管理系统。系统提供了添加、查找、更新、删除学生信息的功能,并能保存数据到文件。通过命令行交互,用户可以进行学生信息的管理。
1105

被折叠的 条评论
为什么被折叠?



