package zzzzzzzz;
import java.io.*;
//作者:凱魯嘎吉 - 博客園
//http://www.cnblogs.com/kailugaji/
public class Text {
public static void main(String[] args) throws MyException, IOException {
Login l=new Login();
l.login();
}
}
class Student{
private String stunumber;
private String name;
private String age;
private String sex;
private String score;
public void set_stunumber(String stu){
stunumber=stu;
}
public String get_stunumber(){
return stunumber;
}
void set_name(String na){
name=na;
}
String get_name(){
return name;
}
void set_age(String agee){
age=agee;
}
String get_age(){
return age;
}
void set_sex(String sexx){
sex=sexx;
}
String get_sex(){
return sex;
}
void set_score(String scoree){
score=scoree;
}
String get_score(){
return score;
}
}
class StudentManager{
int n=0;
Student ss[]=new Student[50];
//遍歷學生信息
void showStudent(){
for(int i=0;i<=n;i++){
System.out.println("學號:"+ss[i].get_stunumber()+"姓名:"+ss[i].get_name()+"年齡:"+ss[i].get_age()+"性別:"+ss[i].get_sex()+"分數:"+ss[i].get_score()+"\t\n");
}
}
//判斷學號是否已經存在
boolean panduan(String st)
{
boolean flag=true;
for(int i=0;i<n;i++)
{
if(ss[i].get_stunumber().equals(st))
flag= false;
else
flag= true;
}
return flag;
}
//添加學生信息
void addStudent(String stunumber,String name,String age,String b,String score){
ss[n]=new Student();
ss[n].set_stunumber(stunumber);
ss[n].set_name(name);
ss[n].set_age(age);
ss[n].set_sex(b);
ss[n].set_score(score);
n++;
}
//刪除學生信息
void deleteStudent(String stunumber) throws MyException{
for(int i=0;i<=n;i++){
if(ss[i].get_stunumber().equals(stunumber)){
System.out.println("學號為:"+stunumber+"的學生已被刪除!");
if(n==1){
System.out.println("數組為空");
ss[0]=new Student();
}
else {
for(int j=i;j<=n;j++){
ss[j]=ss[j+1];
}
n--;
}
}
else{
throw new MyException("該學生不存在!");
}
}
}
//修改學生信息
void updateStudent(String stu1,String name,String age,String sex,String score) throws MyException{
for(int i=0;i<=n;i++){
if(ss[i].get_stunumber().equals(stu1)){
ss[i]=new Student();
ss[i].set_stunumber(stu1);
ss[i].set_name(name);
ss[i].set_age(age);
ss[i].set_sex(sex);
ss[i].set_score(score);
}
else
throw new MyException("沒有找到該學生!");
}
}
//查詢學生信息
void selectStudent(String number) throws MyException{
for(int i=0;i<=n;i++){
if(ss[i].get_stunumber().equals(number)){
System.out.println("學號:"+ss[i].get_stunumber()+"姓名:"+ss[i].get_name()+"年齡:"+ss[i].get_age()+"性別:"+ss[i].get_sex()+"分數:"+ss[i].get_score()+"\t\n");
}
else
throw new MyException("沒有找到該學生!");
}
}
//統計不及格的人數
void tongji(){
int s=0;
for(int i=0;i<=n;i++){
int a=Integer.parseInt(ss[i].get_score());
if(a<=60){
s=s+1;
System.out.println("學號:"+ss[i].get_stunumber()+"姓名:"+ss[i].get_name()+"年齡:"+ss[i].get_age()+"性別:"+ss[i].get_sex()+"分數:"+ss[i].get_score()+"\t\n");
}
}
System.out.println("不及格的人數為:"+s+"人");
}
//輸入界面
void showface(){
System.out.println("*****************************");
System.out.println("石家庄鐵道大學學生信息管理系統");
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("6.學生信息統計");
System.out.println("7退出.");
}
}
class Login{
User users=new User("001","123456");//用戶名,密碼
//登錄
void login() throws MyException, IOException{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
DataOutputStream out=new DataOutputStream(new BufferedOutputStream(new FileOutputStream("Student.txt",true)));
for(int i=1;i<=3;i++){
System.out.println("請輸入用戶ID:");
String id=in.readLine();
System.out.println("請輸入密碼:");
String pass=in.readLine();
if((users.uername.equals(id))&&(users.passage.equals(pass))){
StudentManager sm=new StudentManager();
while(true){
sm.showface();
System.out.println("請選擇:");
String choose=in.readLine();
if(choose.startsWith("1")){
sm.showStudent();
}
else if(choose.startsWith("2")){
System.out.print("請輸入學號:");
String stu=in.readLine();
System.out.print("請輸入姓名:");
String name=in.readLine();
System.out.print("請輸入年齡:");
String age=in.readLine();
System.out.println("請輸入性別(true男,false女):");
String sex=in.readLine();
System.out.print("請輸入分數:");
String score=in.readLine();
if(sm.panduan(stu)){
sm.addStudent(stu, name, age, sex, score);
System.out.println("創建成功!");
out.writeUTF("|學號:"+stu+"|姓名:"+name+"|年齡:"+age+"|性別:"+sex+"|分數:"+score+"|\t\t\n\n");
}
else
throw new MyException("該學生已存在,請勿重復添加");
}
else if(choose.startsWith("3")){
System.out.println("請輸入學號:");
String stu=in.readLine();
if(!(sm.panduan(stu))){
sm.deleteStudent(stu);
}
else
throw new MyException("該學號不存在!");
}
else if(choose.startsWith("4")){
System.out.println("請輸入學號:");
String stu=in.readLine();
System.out.println("請輸入姓名:");
String name=in.readLine();
System.out.println("請輸入年齡:");
String age=in.readLine();
System.out.print("請輸入性別(true男,false女):");
String sex=in.readLine();
System.out.print("請輸入分數:");
String score=in.readLine();
if(!(sm.panduan(stu))){
sm.updateStudent(stu, name, age, sex, score);
out.writeUTF("|學號:"+stu+"|姓名:"+name+"|年齡:"+age+"|性別:"+sex+"|分數:"+score+"|\t\n");
}
else
throw new MyException("該學號不存在!");
}
else if(choose.startsWith("5")){
System.out.println("請輸入學號:");
String stu=in.readLine();
if(!(sm.panduan(stu))){
sm.selectStudent(stu);
}
else
throw new MyException("該學號不存在!");
}
else if(choose.startsWith("6")){
sm.tongji();
}
else if(choose.startsWith("7")){
in.close();
out.close();
System.exit(0);
}
else {
throw new MyException("選擇錯誤,請重新選擇");
}
}
}
else
System.out.println("用戶ID或密碼錯誤,請重新輸入");
}
throw new MyException("該卡已鎖定!");
}
}
class User{
String uername;
String passage;
User(String user,String pass){
this.uername=user;
this.passage=pass;
}
void set_uername(String use){
uername=use;
}
String get_uername(){
return uername;
}
void set_passage(String pass){
passage=pass;
}
String get_passage(){
return passage;
}
}
class MyException extends Exception{
public MyException(String e) {
super(e);
}
}