软件编程
位置:首页>> 软件编程>> java编程>> 学生信息管理系统java版

学生信息管理系统java版

作者:liuyakui  发布时间:2023-06-16 15:48:10 

标签:java,学生管理系统

本文为大家分享了java学生信息管理系统的源代码,供大家参考,具体内容如下


/*学生信息管理系统,实现学生信息:
*增加 int[] a=new int[9]
*删除
*查找
*更改
*/
import java.util.Scanner;//导入java输入流
import java.lang.*;
import java.io.*;
class Student
{
private static Student[] s=new Student[2];
int n=0;
private String name;
private int num;
private String classAge;

public void judge()throws IOException
{
 int i;
 char ch;
 String str;
 Scanner In=new Scanner(System.in);
 if(n==0)
 {
  System.out.print("你还没有录入任何学生,是否录入(Y/N):");
  str=In.next();
  ch=str.charAt(0);
  while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')
  {
   System.out.print("输入有误,请重新输入:");
   str=In.next();
   ch=str.charAt(0);
  }
  if(ch=='Y'||ch=='y')
  {
   this.add();
  }
  if(ch=='N'||ch=='n')
  {
   this.menu();
  }
 }
}

public void menu()throws IOException//定义菜单函数
{
 int a;//定义switch语句变量
 Scanner in=new Scanner(System.in);//实例化输入流对象
 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("****************************************");
 System.out.print("请选择(0~5):");
 a=in.nextInt();
 while(a<0||a>5)
 {
  System.out.print("输入超出范围,请重新输入:");
  a=in.nextInt();
 }
 switch(a)
 {
  case 1:this.add();break;
  case 2:this.show();break;
  case 3:this.modif();break;
  case 4:this.delete();break;
  case 5:this.look();break;
  case 0:System.exit(0);break;
 }    
}

public void add()throws IOException//定义增加函数
{
 String str,str1,str2;
 int i,num1,t=1;
 char ch,ch1;
 FileWriter fw=new FileWriter("F://javaFile//student.txt",true);
 fw.write("    录入的学生信息列表\r\n\r\n学号  姓名  班级\r\n");
 Scanner In=new Scanner(System.in);
 while(t==1)
 {
  System.out.print("请输入学生学号:");
  num1=In.nextInt();
  for(i=0;i<n;i++)
  {
   while(s[i].num==num1)
   {
    System.out.println("已存在此学号,请重新输入");
    System.out.print("请输入学号:");
    num1=In.nextInt();
   }
  }
  s[n].num=num1;
  str2=String.valueOf(num1);
  fw.write(str2+" ");
  System.out.println();
  System.out.print("请输入学生姓名:");
  s[n].name=In.next();
  fw.write(s[n].name+"  ");
  System.out.println();
  System.out.print("请输入学生班级:");
  s[n].classAge=In.next();
  fw.write(s[n].classAge+"\r\n");
  ++n;
  fw.close();
  System.out.println();
  System.out.print("是否继续添加(Y/N)");
  str=In.next();
  ch=str.charAt(0);
  while(ch!='N'&&ch!='n'&&ch!='Y'&&ch!='y')
  {
   System.out.print("输入有误,请重新输入:");
   str=In.next();
   ch=str.charAt(0);
  }
  if(ch=='N'||ch=='n')
  {
   break;
  }
 }
 System.out.println();
 System.out.print("是否返回主菜单(Y/N)");
 str1=In.next();
 ch1=str1.charAt(0);
 while(ch1!='Y'&&ch1!='y'&&ch1!='N'&&ch1!='n')
 {
  System.out.print("输入有误,请重新输入:");
  str1=In.next();
  ch1=str1.charAt(0);
 }
 if(ch1=='Y'||ch1=='y')
 {
  this.menu();
 }
 if(ch1=='N'||ch1=='n')
 {
  System.out.println("正在退出...谢谢使用!");
  System.exit(0);
 }
}

public void show()throws IOException
{
 int i;
 this.judge();  
 System.out.println("本次操作共录入"+n+"位学生!");
 System.out.println("你录入的学生信息如下:");
 System.out.println();
 System.out.println("学号\t\t姓名\t班级");
 for(i=0;i<n;i++)      
 {
  System.out.println(s[i].num+"  "+s[i].name+"  "+s[i].classAge);
 }
 System.out.println("系统返回主菜单!");
 this.menu();
}

public void delete()throws IOException//删除信息功能实现 注:本功能暂时不具备可扩展性
{
 this.judge();
 int j=0,t=0,k=0,num1;
 char ch;
 String str;
 Scanner pin=new Scanner(System.in);
 System.out.print("请输入要删除的学号:");
 num1=pin.nextInt();
 for(j=0;j<n;j++)
 {
  if(s[j].num==num1)
  {
   k=1;
   t=j;
  }
 }
 if(k==0)
 {
  System.out.println("对不起!你要删除的学号不存在!");
  System.out.println("系统将返回主菜单!");
  this.menu();
 }
 if(k==1)
 {
  System.out.println("你要删除的学生信息如下:");//打印管理员要删除的学生信息
  System.out.println("学号\t姓名\t班级");//本功能暂时不备扩展性
  System.out.println(s[t].num+"  "+s[t].name+"  "+s[t].classAge);
  System.out.println();
  System.out.print("你确定要删除(Y/N):");
  str=pin.next();
  ch=str.charAt(0);
  while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')
  {
   System.out.print("输入有误,请重新输入:");
   str=pin.next();
   ch=str.charAt(0);
  }
  if(ch=='N'||ch=='n')
  {
   System.out.println();
   System.out.println("系统返回主菜单!");
   this.menu();
  }
  if(ch=='Y'||ch=='y')
  {
   for(j=t;j<n-1;j++)
   {
    s[j]=s[j+1];
   }
   n--;
   System.out.println("数据成功删除!");
   System.out.println("系统返回主菜单!");
   this.menu();
  }
 }
}

public void look()throws IOException
{
 FileReader fr=new FileReader("F://javaFile//student.txt");
 int a;
 while((a=fr.read())!=-1)
 {
  System.out.print((char)a);
 }
 fr.close();
 System.out.println("系统返回主菜单!");
 System.out.println();
 this.menu();
}

public void modif()throws IOException
{
 this.judge();
 int j=0,t=0,k=0,num2,num3,moi,c=1;
 char ch;
 String str,str1,str2;
 Scanner pin=new Scanner(System.in);
 System.out.print("请输入要修改的学号:");
 num2=pin.nextInt();
 for(j=0;j<n;j++)
 {
  if(s[j].num==num2)
  {
   k=1;
   t=j;
  }
 }
 if(k==0)
 {
  System.out.println("对不起!你要修改的学号不存在!");
  System.out.println("系统将返回主菜单!");
  this.menu();
 }
 if(k==1)
 {
  System.out.println("你要修改的学生信息如下:");//打印管理员要删除的学生信息
  System.out.println("学号\t姓名\t班级");//本功能暂时不备扩展性
  System.out.println(s[t].num+"  "+s[t].name+"  "+s[t].classAge);
  System.out.println();
  System.out.print("你确定要修改(Y/N):");
  str=pin.next();
  ch=str.charAt(0);
  while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')
  {
   System.out.print("输入有误,请重新输入:");
   str=pin.next();
   ch=str.charAt(0);
  }
  if(ch=='N'||ch=='n')
  {
   System.out.println();
   System.out.println("系统返回主菜单!");
   this.menu();
  }
  while(c==1)
  {
   if(ch=='Y'||ch=='y')
   {
    System.out.println("****************************************");
    System.out.println("*****   1.修改学号   *****");
    System.out.println("*****   2.修改班级   *****");
    System.out.println("*****   3.修改姓名   *****");
    System.out.println("****************************************");
    System.out.print("请选择:");
    moi=pin.nextInt();
    switch(moi)
    {
     case 1:System.out.print("请输入新的学号:");num3=pin.nextInt();s[t].num=num3;break;
     case 2:System.out.print("请输入新的班级:");str1=pin.next();s[t].classAge=str1;break;
     case 3:System.out.print("请输入新的姓名:");str2=pin.next();s[t].name=str2;break;
    }
    System.out.println("数据已成功修改!");
   }
   System.out.print("是否继续修改(Y/N)");
   str=pin.next();
   ch=str.charAt(0);
   System.out.println();
   while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')
   {
    System.out.print("输入有误,请重新输入:");
    str=pin.next();
    ch=str.charAt(0);
   }
   if(ch=='N'||ch=='n')
   {
    break;
   }
  }  
 }
 System.out.println();
 System.out.println("系统返回主菜单!");
 this.menu();
}

public static void main(String[] args)throws IOException
{  
 Student stu=new Student();
 for(int i=0;i<2;i++)
 {
  s[i]=new Student();
 }
 stu.menu();
}
}

更多学习资料请关注专题《管理系统开发》。

来源:http://blog.csdn.net/u010885095/article/details/38848235

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com