学生信息管理系统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();
  }
}

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

时间: 2017-11-12

Java+Mysql学生管理系统源码

最近正在学java和数据库,想起以前写的学生管理系统,都是从网上下载,敷衍了事.闲来无事,也就自己写了一个,不过功能实现的不是很多. 开发语言:java: 开发环境:Mysql, java: 开发工具:eclipse 开发此案例,首先得在电脑上有java开发环境和Mysql, java开发环境与Mysql的搭建,就不再叙述了,如果需要,请联系我最下面的联系方式:dingyelf@aliyun.com 此次系统比较简易:数据库中只有一个表:stu;功能:能够对学生增加.删除.修改. 开发步骤:  

一个简陋的java图书管理系统

本文代码为原创一个简陋的管理系统,只做功能的测试.并没有去完善所有应有的功能,只做了输入输出查找,仅供参考! 菜单部分: import java.util.Scanner; public class Menu { int Min = 1; int Max = 3; public void getMenu(){ System.out.println("1.显示/2.输入/3.查找"); } public void getFindMenu(){ System.out.println(&qu

Java+MySQL实现学生信息管理系统源码

基于Java swing+MySQL实现学生信息管理系统:主要实现JDBC对学生信息进行增删改查,应付一般课设足矣,分享给大家.(由于篇幅原因,代码未全部列出,如有需要留下邮箱) 鉴于太多同学要源码,实在发不过来,上传到github上 https://github.com/ZhuangM/student.git 1. 开发环境:jdk7+MySQL5+win7 代码结构:model-dao-view 2. 数据库设计--建库建表语句: CREATE DATABASE student; DROP

Java学生信息管理系统设计(数据库版)

本文实例为大家分享了数据库版的Java学生信息管理系统,供大家参考,具体内容如下 package Student_system; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import

简单实现Java版学生管理系统

本文实例为大家分享了Java实现学生管理系统的具体代码,供大家参考,具体内容如下 package BookDemo_1; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Test { public static void main(String[] args) { StudentSys stuSys=new StudentSys("学生管理系统"); stuSys.initWi

java学生信息管理系统设计(2)

本例的学生信息添加进入数据库的事务(可以提交事务,事务回滚,用本地线程完善) 主页面index.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <htm

图书管理系统java版

本文的目的就是通过图书管理系统掌握数据库编程技术,能正确连接数据库,能对数据库中信息进行查询.插入.删除.修改. 内容:在数据库中创建一张书目信息表,包括书名.作者.出版社.出版日期.书号.价格字段.设计一个GUI界面进行书目管理.在该界面上有四个选项卡,分别是查询.插入.删除.修改.点击查询选项卡,出现的界面上有书名.作者.出版社.书号四个文本框,一个按钮和一个只读文本区.文本框内容可以为空,输入相应的查询信息后(例如根据书名查询可以仅输入书名),点击界面上的"查询"按钮,可以在界面

java(swing)+ mysql实现学生信息管理系统源码

本文实例为大家分享了java实现学生信息管理系统源码,供大家参考,具体内容如下 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import

java学生信息管理系统设计

本例的学生信息添加进入数据库的事务(可以提交事务,事务回滚,用本地线程完善) 主页面index.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <htm

java学生信息管理系统MVC架构详解

本文实例为大家分享了java学生信息管理系统MVC架构,供大家参考,具体内容如下 一.项目结构 学生信息管理系统分三层进行实现.student.java主要提供数据,cotroller.java的功能是绑定试图和计算数据.Stuview.java用于单一的用来显示数据. 二.源码 1.1.Student 类 /* * @FileName: Student.class * @version:1.0 * @author:nazi * 描述:模型层 * */ import java.io.Serial

java学生信息管理系统源代码

本文实例为大家分享了java学生信息管理系统的具体代码,实现学生信息: 增加 int[] a=new int[9] .删除 .查找.更改,供大家参考,具体内容如下 /*学生信息管理系统,实现学生信息: *增加 int[] a=new int[9] *删除 *查找 *更改 */ import java.util.Scanner;//导入java输入流 import java.lang.*; import java.io.*; class Student { private static Stude

java+SQL server2008学生信息管理系统源码

本文实例为大家分享了java学生信息管理系统源码的具体代码,供大家参考,具体内容如下 1.StudetManage类(主界面) package com.sms3; import java.awt.*; import javax.swing.*; import java.awt.event.*; public class StudentManage extends JFrame implements ActionListener { /** * @param args */ public stat

java实现简单的学生信息管理系统代码实例

java实现简单的学生信息管理系统(无界面) 学生类实体: package com.edu.imau.wcy; public class Stu { private String stuNum;//学号 private String name;//姓名 private String gender;//性别 private int age;//年龄 private int score;//分数 public Stu() { super(); } public String getStuNum()

Java实现飞机航班管理系统的思路详解

学习Java实现飞机航班管理系统,本文有该系统的功能截图,和数据库设计SQL语句供大家参考 1.飞机航班管理系统背景 本系统模拟飞机航班管理业务开发. 2.飞机航班管理系统技术架构 主要技术 Spring.SpringMVC.Mybatis JSP.JSTL.jQuery.HTML.CSS.JS Mysql bootstrap 开发工具和环境 Eclipse Maven Tomcat 7 JDK 1.8 Mysql 5.6 Win10 操作系统 3.飞机航班管理系统数据库设计 CREATE TA

java实现学生信息管理系统

JAVA简单写学生信息管理系统,实现学生信息的输入.查询.修改.删除操作 package Week; import jdk.internal.util.xml.impl.Input; import java.util.HashSet; import java.util.Scanner; public class StudentMs { Scanner sc = new Scanner(System.in); public int getID() { return ID; } public Str

java面向对象之学生信息管理系统

通过学习的一系列知识点综合的小案例,通过控制台来完成一系列的增删查改的操作. 准备工作 开发工具IDEA2019.1.4,jdk13 思路 一共三个类,一个接口 Student类:封装数据 StudentManager类:用于管理增删查改等方法体 StudentView类:用于主界面的视图 StudentInterface接口:用于编写抽象方法体,用于继承 存放学生数据用我们学过的ArrayList,由于类是一种引用数据类型,所以我们可以将泛型指代成Student 编写逻辑 业务层调用逻辑层,逻