学生信息管理系统java版

 更新时间:2017年11月14日 15:11:15   作者:liuyakui  
这篇文章主要为大家详细介绍了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(); 
 } 
} 

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • JavaCV实现照片马赛克效果

    JavaCV实现照片马赛克效果

    这篇文章主要介绍了如何通过JavaCV实现照片马赛克效果,文中的示例代码讲解详细,对我们学习JavaCV有一定的帮助,感兴趣的小伙伴可以跟随小编一起动手试一试
    2022-01-01
  • SpringBoot+Redission实现排行榜功能的示例代码

    SpringBoot+Redission实现排行榜功能的示例代码

    这篇文章主要介绍了基于SpringBoot+Redission实现排行榜功能,实现一个排行榜,要求按照分数和达成这个分数的时间排序,即相同分数下,时间早的在上面,文中通过代码示例介绍的非常详细,需要的朋友可以参考下
    2024-05-05
  • java中url任意跳转漏洞的解决

    java中url任意跳转漏洞的解决

    URL任意跳转漏洞是一种安全漏洞,它发生在应用程序没有正确地验证目标URL,允许攻击者将用户重定向到恶意网站,本文就来介绍一下漏洞的解决修复方案,感兴趣的可以了解一下
    2024-06-06
  • java利用注解实现简单的excel数据读取

    java利用注解实现简单的excel数据读取

    这篇文章主要为大家详细介绍了java利用注解实现简单的excel数据读取,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • SpringBoot HttpMessageConverter消息转换器的使用详解

    SpringBoot HttpMessageConverter消息转换器的使用详解

    在整个数据流转过程中,前端的请求报文转化为Java对象,Java对象转化为响应报文,这里就用到了消息转换器HttpMessageConverter
    2022-06-06
  • 老生常谈Java虚拟机垃圾回收机制(必看篇)

    老生常谈Java虚拟机垃圾回收机制(必看篇)

    下面小编就为大家带来一篇老生常谈Java虚拟机垃圾回收机制(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • spring boot启动加载数据原理分析

    spring boot启动加载数据原理分析

    实际应用中,我们会有在项目服务启动的时候就去加载一些数据或做一些事情这样的需求。这时spring Boot 为我们提供了一个方法,通过实现接口 CommandLineRunner 来实现。下面给大家详细介绍下,需要的的朋友参考下吧
    2017-04-04
  • kotlin之协程的理解与使用详解

    kotlin之协程的理解与使用详解

    这篇文章主要介绍了kotlin之协程的理解与使用详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • SpringBoot如何访问本地图片

    SpringBoot如何访问本地图片

    这篇文章主要介绍了SpringBoot如何访问本地图片问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • maven安装配置的实现步骤

    maven安装配置的实现步骤

    本文主要介绍了maven安装配置的实现步骤,包括下载和安装Maven,配置Maven的环境变量,以及创建Maven项目,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09

最新评论