java学生成绩管理系统设计与实现

 更新时间:2018年01月16日 08:43:07   作者:QAQqwe  
这篇文章主要介绍了java学生成绩管理系统设计与实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

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

/* 
 *@copyright by LzyRapx on 2016/4/12. 
 *@name:java学生成绩管理系统. 
 *@功能:学生相关信息,录入,查询,统计,修改等.... 
 *@PS:图形界面的学生管理系统不要求就不做了. 
 */ 
 
import java.util.Scanner; 
import java.lang.*; 
import java.io.*; 
class Student 
{ 
 private static Student[] s=new Student[100]; //录入学生上限 
 int n=0; 
 private String name; 
 private int num; 
 private String classAge; 
 private int chinese; 
 private int math; 
 private int english; 
  
 //判断是否有录入学生信息 
 public void judge() throws IOException 
 { 
  int i; 
  char ch; 
  String str; 
  Scanner In=new Scanner(System.in); 
  if(n==0) 
  { 
   System.out.println("你还没有录入任何学生信息,是否录入(Y/N):"); 
   str=In.next(); 
   ch=str.charAt(0); 
   while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n') 
   { 
    System.out.println("输入有误,请重新输入:"); 
    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 //将异常抛出,调用这个方法去处理异常,如果main方法也将异常抛出,则交给Java虚拟机来处理,下同. 
 { 
  int a; 
  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.out.println("成功退出系统!!!");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("E://student.txt",true); //将学生信息录入指定的txt文件中 
   
  fw.write("    录入的学生信息列表\r\n\r\n学号 姓名 班级 语文成绩  数学成绩 英语成绩\r\n"); 
  Scanner In=new Scanner(System.in); 
  while(t==1) 
  { 
   System.out.println("请输入学生学号:"); 
   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.println("请输入学生姓名:"); 
   s[n].name=In.next(); 
   fw.write(s[n].name+"  "); 
   System.out.println(); 
   System.out.println("请输入学生班级:"); 
   s[n].classAge=In.next(); 
   fw.write(s[n].classAge+" "); 
   System.out.println("请输入学生语文成绩:"); 
   s[n].chinese=In.nextInt(); 
   fw.write(s[n].chinese+" ");      
   System.out.println("请输入学生数学成绩:"); 
   s[n].math=In.nextInt(); 
   fw.write(s[n].chinese+" "); 
   System.out.println("请输入学生英语成绩:"); 
   s[n].english=In.nextInt(); 
   fw.write(s[n].english+"\r\n"); 
   ++n; 
   fw.close(); 
   System.out.println(); 
   System.out.println("是否继续添加(Y/N)"); 
   str=In.next(); 
   ch=str.charAt(0); 
   while(ch!='N'&&ch!='n'&&ch!='Y'&&ch!='y') 
   { 
    System.out.println("输入无效,请重新输入:"); 
    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.println("输入无效,请重新输入:"); 
   str1=In.next(); 
   ch1=str1.charAt(0); 
  } 
  if(ch1=='Y'||ch1=='y') 
  { 
   this.menu(); 
  } 
  if(ch1=='N'||ch1=='n') 
  { 
   System.out.println(""); 
   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语文\t数学\t英语"); 
  for(i=0;i<n;i++)       
  { 
   System.out.println(s[i].num+"  "+s[i].name+"  "+s[i].classAge+"  "+s[i].chinese+"  "+s[i].math+"  "+s[i].english); 
  } 
  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.println("请输入要删除的学号:"); 
  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.println("你确定要删除(Y/N):"); 
   str=pin.next(); 
   ch=str.charAt(0); 
   while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n') 
   { 
    System.out.println("输入无效,请重新输入:"); 
    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("E://student.txt"); //查看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.println("请输入要修改的学号:"); 
  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("语文\t数学\t英语"); 
   System.out.println(s[t].chinese+"  "+s[t].math+"  "+s[t].english); 
   System.out.println(); 
   System.out.println("你确定要修改(Y/N):"); 
   str=pin.next(); 
   ch=str.charAt(0); 
   while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n') 
   { 
    System.out.println("输入无效,请重新输入:"); 
    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.println("请选择:"); 
     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<100;i++) 
  { 
   s[i]=new Student(); 
  } 
  stu.menu(); 
 } 
} 

部分效果图:




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

相关文章

  • 详解Java异常处理最佳实践及陷阱防范

    详解Java异常处理最佳实践及陷阱防范

    这篇文章主要介绍了Java异常处理最佳实践及陷阱防范,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • JavaFx UI控件与代码间的绑定方法

    JavaFx UI控件与代码间的绑定方法

    这篇文章主要为大家详细介绍了JavaFx UI控件与代码间如何绑定,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • Java实现广度优先遍历的示例详解

    Java实现广度优先遍历的示例详解

    广度优先遍历:广度优先遍历是连通图的一种遍历策略,因为它的思想是从一个顶点V0开始,辐射状地优先遍历其周围较广的区域故得名。本文详细介绍了Java如何实现广度优先遍历,感兴趣的小伙伴可以学习一下
    2022-02-02
  • Java读取properties文件连接数据库的方法示例

    Java读取properties文件连接数据库的方法示例

    这篇文章主要介绍了Java读取properties文件连接数据库的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • Java TreeMap排序算法实例

    Java TreeMap排序算法实例

    这篇文章主要介绍了Java TreeMap排序算法,结合实例形式分析了TreeMap排序算法的原理、实现方法与相关注意事项,需要的朋友可以参考下
    2017-07-07
  • Maven如何构建可执行的jar包(包含依赖jar包)

    Maven如何构建可执行的jar包(包含依赖jar包)

    这篇文章主要介绍了Maven如何构建可执行的jar包(包含依赖jar包) ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • 通过Java来测试JSON和Protocol Buffer的传输文件大小

    通过Java来测试JSON和Protocol Buffer的传输文件大小

    这篇文章主要介绍了通过Java来测试JSON和Protocol Buffer的传输文件大小,Protocol Buffer(文中简称Protobuffer)是谷歌开发的新的文件传输格式,需要的朋友可以参考下
    2015-12-12
  • Idea2023配置JavaWeb项目(最新)

    Idea2023配置JavaWeb项目(最新)

    本文将介绍如何配置JavaWeb项目,以在Idea中实现开发环境,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-09-09
  • Spring中自定义拦截器的使用

    Spring中自定义拦截器的使用

    大家好,本篇文章主要讲的是Spring中自定义拦截器的使用,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • JUC循环屏障CyclicBarrier与CountDownLatch区别详解

    JUC循环屏障CyclicBarrier与CountDownLatch区别详解

    这篇文章主要为大家介绍了JUC循环屏障CyclicBarrier与CountDownLatch区别详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12

最新评论

?


http://www.vxiaotou.com