最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java學(xué)生信息管理系統(tǒng)設(shè)計與實(shí)現(xiàn)

 更新時間:2018年01月16日 09:03:14   作者:PYLON_GCL  
這篇文章主要為大家詳細(xì)介紹了java學(xué)生信息管理系統(tǒng)設(shè)計與實(shí)現(xiàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下

閑暇之余用JAVA寫了個學(xué)生信息的管理系統(tǒng),由于博主還是萌新,代碼難免有冗余和錯誤的地方,如果您發(fā)現(xiàn)有什么不足之處或者錯誤,請留言。博主會盡量回復(fù)。

需求分析

一個學(xué)生信息管理系統(tǒng)應(yīng)該包含這些內(nèi)容:

教師頁面

在教師頁面應(yīng)該包含:

學(xué)生頁面

在教學(xué)生頁面應(yīng)該包含:

包含的類

根據(jù)分析,我們的學(xué)生信息系統(tǒng)應(yīng)該包含三個類:

代碼

學(xué)生類

Student.java

package com.gcl;

import com.sun.org.glassfish.external.statistics.AverageRangeStatistic;

import java.util.Scanner;

/**
 * Created by GCL on 2017/4/22.
 */
public class Student
{
 private int number;         //學(xué)號
 private String name;        //姓名
 private int age;         //年齡
 private double grade[]=new double[100];    //各科分?jǐn)?shù)
 private String project[]=new String[100];   //各科名稱
 private double average;       //平均分
 private int count;         //科目數(shù)量
 public void setNumber(int num)
 {
  this.number=num;
 }
 public int getNumber()
 {
  return number;
 }
 public void setName(String name)
 {
  this.name=name;
 }
 public String getName()
 {
  return name;
 }
 public void setAge(int age)
 {
  this.age=age;
 }
 public int getAge()
 {
  return age;
 }
 public void setGrade(double a[])
 {
  System.arraycopy(a, 0, grade, 0, a.length);
 }
 public double getGrade(int i)
 {
  return grade[i];
 }
 public void setProject(String a[])
 {
  System.arraycopy(a,0,project,0,a.length);
  this.count=a.length;
 }
 public String getProject(int i)
 {
  return project[i];
 }
 public void setAverage(int len)
 {
  double sum=0;
  int i=0;
  for (;i<len;i++)
  {
   sum+=grade[i];
  }
  this.average=sum/(i*1.0);
 }
 public double getAverage()
 {
  return average;
 }
 public int getCount()
 {
  return count;
 }
}

賬號密碼類

Imfomation .java

package com.gcl;

/**
 * Created by GCL on 2017/5/6.
 */
public class Imfomation {
 private String code;
 private String account;

 public Imfomation(String admin, String s) {
  this.account=admin;
  this.code=s;
 }

 public void setCode(String code)
 {
  this.code=code;
 }
 public String getCode()
 {
  return code;
 }
 public void setAccont(String account)
 {
  this.account=account;
 }
 public String getAccont()
 {
  return account;
 }
}

系統(tǒng)操作類

MAIN.java

package com.gcl;


import java.util.Objects;
import java.util.Scanner;

/**
 * Created by GCL on 2017/5/7.
 */
public class MAIN {
 private static int m=0;              //科目數(shù)量
 private static int n=0;              //學(xué)生數(shù)量
 private static String[] a=new String[50];
 private static Imfomation ac=new Imfomation("Admin","123456");  //初始化教師賬號密碼
 private static Student su[]=new Student[100];        //實(shí)例化學(xué)生類數(shù)組
 public static void main(String[] args)
 {
  show();                 //進(jìn)入系統(tǒng)初始頁面
 }
 //系統(tǒng)初始頁面
 private static void show()
 {
  System.out.println("----------歡迎來到學(xué)生綜合信息管理系統(tǒng)----------");
  System.out.println("-     請先登錄:     -");
  System.out.println("-     1.教師登錄     -");
  System.out.println("-     2.學(xué)生登錄     -");
  System.out.println("-     0.退出      -");
  System.out.println("------------------------------------------------");
  Scanner in=new Scanner(System.in);
  int ch=in.nextInt();
  if (ch==1) Login(ac);
  else if (ch==2) Student();
  else if (ch==0) System.exit(0);
  else System.exit(1);
 }
 //教師登錄頁面
 private static void Login(Imfomation ac)          //把a(bǔ)c當(dāng)作參數(shù)傳入
 {
  Scanner in=new Scanner(System.in);
  System.out.println("請輸入賬戶名稱:");
  String c=in.nextLine();
  if (!Objects.equals(c, ac.getAccont()))
  {
   System.out.println("賬號不存在!");
   MAIN.Login(ac);
  }
  System.out.println("請輸入密碼:");
  String b=in.nextLine();
  {
   if (!Objects.equals(b, ac.getCode()))
   {
    System.out.println("密碼錯誤!");
    MAIN.Login(ac);
   }
  }
  System.out.println("登錄成功!");
  MAIN.Teacher();
 }
 //教師主頁面
 private static void Teacher()
 {
  System.out.println("-----------------------------------------------");
  System.out.println("-----請選擇你要執(zhí)行的操作:  ---------------");
  System.out.println("-----1.創(chuàng)建學(xué)生信息    ---------------");
  System.out.println("-----2.查詢學(xué)生信息    ---------------");
  System.out.println("-----3.顯示學(xué)生信息    ---------------");
  System.out.println("-----4.刪除學(xué)生信息    ---------------");
  System.out.println("-----5.修改學(xué)生信息    ---------------");
  System.out.println("-----6.修改密碼     ---------------");
  System.out.println("-----0.退出系統(tǒng)     ---------------");
  Scanner ch=new Scanner(System.in);
  int c=ch.nextInt();
  if (c==1) Create();
  else if (c==2) Search(1);
  else if (c==3) Show();
  else if (c==4) Delete();
  else if (c==5) Renew();
  else if (c==6) Recode();
  else if (c==0) show();
  else
  {
   System.out.println("輸入錯誤!");
   Teacher();
  }
 }
 //學(xué)生主頁面
 private static void Student()
 {
  System.out.println("-----------------------------------------------");
  System.out.println("-----請選擇你要執(zhí)行的操作:  ---------------");
  System.out.println("-----1.查詢學(xué)生信息    ---------------");
  System.out.println("-----0.退出系統(tǒng)     ---------------");
  Scanner In=new Scanner(System.in);
  int ch=In.nextInt();
  if (ch==1) Search(2);
  else if (ch==0) show();
  else
  {
   System.out.println("輸入錯誤!");
   Student();
  }
 }
 //創(chuàng)建學(xué)生信息
 private static void Create()
 {
  String str;
  int num1=0,t;
  double[] g=new double[50];
  while(true)
  {
   su[n]=new Student();
   System.out.println("請輸入學(xué)生學(xué)號:");
   Scanner in=new Scanner(System.in);
   num1=in.nextInt();
   for (int i=0;i<n;i++)          //檢測學(xué)號是否重復(fù)
   {
    while(su[i].getNumber() == num1)
    {
     System.out.println("已經(jīng)存在該學(xué)號,請重新輸入:");
     num1=in.nextInt();
    }
   }
   su[n].setNumber(num1);
   System.out.println("請輸入學(xué)生姓名:");
   str=in.next();
   su[n].setName(str);
   System.out.println("請輸入學(xué)生年齡:");
   t=in.nextInt();
   su[n].setAge(t);
   if (n==0) //在創(chuàng)建第一個學(xué)生時,同時創(chuàng)建學(xué)科的數(shù)量和名稱
   {
    System.out.println("請輸入N門課");
    m=in.nextInt();
    System.out.println("請分別輸入"+m+"門科目的名字:");
    for(int i=0;i<m;i++)
    {
     a[i]=in.next();
    }
   }
   su[n].setProject(a);
   for (int i=0;i<m;i++)
   {
    System.out.println("請輸入"+su[n].getProject(i)+"科目的成績:");
    g[i]=in.nextInt();
   }
   su[n].setGrade(g);
   su[n].setAverage(m);
   n++;
   System.out.println("是否繼續(xù)添加?(是/Y,否/N)");
   String cho=in.next();
   char ch=cho.charAt(0);
   if (ch=='N'||ch=='n')
    Teacher();  //返回教師主頁面
   while(ch!='N'&&ch!='n'&&ch!='Y'&&ch!='y')
   {
    System.out.println("輸入無效,請重新輸入:");
    cho=in.next();
    ch=cho.charAt(0);
   }
  }
 }
 //展示學(xué)生信息
 private static void Show()
 {
  System.out.println("學(xué)生信息如下:");
  for (int i=0;i<n;i++)
  {
   System.out.println("第"+i+"名學(xué)生:");
   System.out.println("學(xué)號:"+su[i].getNumber()+"\t姓名:"+su[i].getName()+"\t年齡:"+su[i].getAge());
   System.out.println("該學(xué)生各科成績?yōu)椋?);
   for (int j=0;j<m;j++)
   {
    System.out.println(su[i].getProject(j)+":\t"+su[i].getGrade(j));
   }
   System.out.println("該學(xué)生平均分為:"+su[i].getAverage());
  }
  System.out.println("輸入任意值返回主菜單");
  Scanner in=new Scanner(System.in);
  in.next();
  Teacher();
 }
 //搜索學(xué)生信息,參數(shù)是用來判斷訪問該函數(shù)的是學(xué)生還是老師
 private static void Search(int jud)
 {
  System.out.println("----------------------");
  System.out.println("----請選擇搜索方式----"); //選擇搜索方式
  System.out.println("----1.按學(xué)號搜索 ----");
  System.out.println("----2.按姓名搜索 ----");
  System.out.println("----0.返回主菜單 ----");
  System.out.println("----------------------");
  Scanner In=new Scanner(System.in);
  int ch=In.nextInt();
  boolean temp=false;
  if (ch==1)
  {
   System.out.println("請輸入學(xué)號:");
   int nu=In.nextInt();
   for (int i=0;i<n;i++)
   {
    if (su[i].getNumber()==nu)
    {
     System.out.println("尋找成功");
     System.out.println("學(xué)號:"+su[i].getNumber()+"\t姓名:"+su[i].getName()+"\t年齡:"+su[i].getAge());
     System.out.println("該學(xué)生各科成績?yōu)椋?);
     for (int j=0;j<m;j++)
     {
      System.out.println(su[i].getProject(j)+":\t"+su[i].getGrade(j));
     }
     System.out.println("該學(xué)生平均分為:"+su[i].getAverage());
     System.out.println("輸入任意值返回主菜單");
     Scanner in=new Scanner(System.in);
     in.next();
     if (jud==1) //如果是老師訪問,返回Teacher()
      Teacher();
     Student();  //否則返回Student()
    }
   }
   System.out.println("沒有找到該學(xué)生,即將返回");
   if (jud==1)
    Teacher();
   Student();
  }
  else if (ch==2)
  {
   System.out.println("請輸入姓名:");
   String na=In.next();
   for (int i=0;i<n;i++)
   {
    if (Objects.equals(su[i].getName(), na))
    {
     System.out.println("尋找成功");
     System.out.println("學(xué)號:"+su[i].getNumber()+"\t姓名:"+su[i].getName()+"\t年齡:"+su[i].getAge());
     System.out.println("該學(xué)生各科成績?yōu)椋?);
     for (int j=0;j<m;j++)
     {
      System.out.println(su[i].getProject(j)+":\t"+su[i].getGrade(j));
     }
     System.out.println("該學(xué)生平均分為:"+su[i].getAverage());
     temp=true;
    }
   }
   if (temp)
   {
    System.out.println("輸入任意值返回主菜單");
    Scanner in=new Scanner(System.in);
    in.next();
    if (jud==1)
     Teacher();
    Student();
   }
   else
   {
    System.out.println("沒有找到該學(xué)生,即將返回");
    if (jud==1)
     Teacher();
    Student();
   }
  }
  else if (ch==0)
  {
   if (jud==1)
    Teacher();
   Student();
  }
  else
  {
   System.out.println("輸入錯誤!");
   Search(jud);
  }
 }
 //刪除學(xué)生信息
 private static void Delete()
 {
  System.out.println("請輸入要刪除的學(xué)生的學(xué)號:");
  Scanner In=new Scanner(System.in);
  int num=In.nextInt();
  boolean temp=true; //判斷是否找到該學(xué)生
  int tem=0,i=0;
  for (i=0;i<n;i++)
  {
   if (su[i].getNumber()==num)
   {
    temp=false;
    tem=i; //用tem記錄該學(xué)生的位置
    break;
   }
  }
  if (temp)
  {
   System.out.println("未找到該學(xué)生信息");
   System.out.println("輸入任意值返回主菜單");
   Scanner in=new Scanner(System.in);
   in.next();
   Teacher();
  }
  else
  {
   System.out.println("你要刪除的學(xué)生信息:");
   System.out.println("學(xué)號:"+su[tem].getNumber()+"\t姓名:"+su[tem].getName()+"\t年齡:"+su[tem].getAge());
   System.out.println("該學(xué)生各科成績?yōu)椋?);
   for (int j=0;j<m;j++)
   {
    System.out.println(su[tem].getProject(j)+":\t"+su[tem].getGrade(j));
   }
   System.out.println("該學(xué)生平均分為:"+su[tem].getAverage());
   System.out.println("你確定要刪除該學(xué)生嗎?(是/Y,否/N)");
   String ch=In.next();
   char se=ch.charAt(0);
   while(se!='N'&&se!='n'&&se!='Y'&&se!='y')
   {
    System.out.println("輸入無效,請重新輸入:");
    ch=In.next();
    se=ch.charAt(0);
   }
   if (se=='N'||se=='n') {
    System.out.println("返回主菜單");
    Teacher();
   }
   if (se=='Y'||se=='y') //通過線性表的刪除操作來刪除該學(xué)生的信息
   {
    for (i=tem;i<n-1;i++)
    {
     su[i]=su[i+1];
    }
    n--;
    System.out.println("學(xué)生信息刪除成功!");
    System.out.println("輸入任意值返回主菜單");
    Scanner in=new Scanner(System.in);
    in.next();
    Teacher();
   }
  }
 }
 //修改學(xué)生信息
 private static void Renew()
 {
  System.out.println("請輸入要修改的學(xué)生的學(xué)號:");
  Scanner In=new Scanner(System.in);
  int num=In.nextInt();
  boolean temp=true;
  int tem=0,i=0;
  for (i=0;i<n;i++)
  {
   if (su[i].getNumber()==num)
   {
    temp=false;
    tem=i;
    break;
   }
  }
  if (temp)
  {
   System.out.println("未找到該學(xué)生信息");
   System.out.println("輸入任意值返回主菜單");
   Scanner in=new Scanner(System.in);
   in.next();
   Teacher();
  }
  else
  {
   System.out.println("你要修改的學(xué)生信息如下:");
   System.out.println("你要修改的學(xué)生信息:");
   System.out.println("學(xué)號:"+su[tem].getNumber()+"\t姓名:"+su[tem].getName()+"\t年齡:"+su[tem].getAge());
   System.out.println("該學(xué)生各科成績?yōu)椋?);
   for (int j=0;j<m;j++)
   {
    System.out.println(su[tem].getProject(j)+":\t"+su[tem].getGrade(j));
   }
   System.out.println("該學(xué)生平均分為:"+su[tem].getAverage());
   System.out.println("你確定要修改該學(xué)生嗎?(是/Y,否/N)");
   String ch=In.next();
   char se=ch.charAt(0);
   while(se!='N'&&se!='n'&&se!='Y'&&se!='y')
   {
    System.out.println("輸入無效,請重新輸入:");
    ch=In.next();
    se=ch.charAt(0);
   }
   if (se=='N'||se=='n')
   {
    System.out.println("返回主菜單");
    Teacher();
   }
   if (se=='Y'||se=='y')
   {
    double[] g=new double[50];
    System.out.println("請選擇修改的內(nèi)容:");            //選擇修改哪些內(nèi)容
    System.out.println("---1.修改姓名----");
    System.out.println("---2.修改年齡----");
    System.out.println("---3.修改成績----");
    System.out.println("---0.返回主菜單--");
    int cho=In.nextInt();
    if (cho==1)
    {
     System.out.println("請輸入姓名:");
     String name=In.next();
     su[tem].setName(name);
     System.out.println("修改成功!");
     System.out.println("還要繼續(xù)修改嗎?(是/Y,否/N)");
     ch=In.next();
     se=ch.charAt(0);
     while (se!='N'&&se!='n'&&se!='Y'&&se!='y')
     {
      System.out.println("輸入無效,請重新輸入:");
      ch=In.next();
      se=ch.charAt(0);
     }
     if (se=='N'||se=='n')
     {
      System.out.println("返回主菜單");
      Teacher();
     }
     if (se=='y'||se=='Y')
     {
      Renew();
     }
    }
    else if (cho==2)
    {
     System.out.println("請輸入年齡:");
     int ag=In.nextInt();
     su[tem].setAge(ag);
     System.out.println("修改成功!");
     System.out.println("還要繼續(xù)修改嗎?(是/Y,否/N)");
     ch=In.next();
     se=ch.charAt(0);
     while (se!='N'&&se!='n'&&se!='Y'&&se!='y')
     {
      System.out.println("輸入無效,請重新輸入:");
      ch=In.next();
      se=ch.charAt(0);
     }
     if (se=='N'||se=='n')
     {
      System.out.println("返回主菜單");
      Teacher();
     }
     if (se=='y'||se=='Y')
     {
      Renew();
     }
    }
    else if (cho==3)
    {
     for (int j=0;j<m;j++)
     {
      System.out.println("請輸入"+su[tem].getProject(j)+"科目的成績:");
      g[j]=In.nextInt();
     }
     su[tem].setGrade(g);
     su[tem].setAverage(m);
     System.out.println("修改成功!");
     System.out.println("還要繼續(xù)修改嗎?(是/Y,否/N)");
     ch=In.next();
     se=ch.charAt(0);
     while (se!='N'&&se!='n'&&se!='Y'&&se!='y')
     {
      System.out.println("輸入無效,請重新輸入:");
      ch=In.next();
      se=ch.charAt(0);
     }
     if (se=='N'||se=='n')
     {
      System.out.println("返回主菜單");
      Teacher();
     }
     if (se=='y'||se=='Y')
     {
      Renew();
     }
    }
    else if (cho==0)
    {
     Teacher();
    }
    else
    {
     System.out.println("輸入無效!");
     Renew();
    }
   }
  }
 }
 //修改教師的密碼
 private static void Recode()
 {
  System.out.println("請輸入原來的密碼:");
  Scanner In=new Scanner(System.in);
  String code =In.nextLine();
  if (!Objects.equals(code, ac.getCode()))
  {
   System.out.println("密碼輸入錯誤!");
   Teacher();
  }
  System.out.println("請輸入新密碼:"); //要求輸入兩次新密碼
  String co1=In.nextLine();
  System.out.println("請再次輸入新密碼:");
  String co2=In.nextLine();
  if (!Objects.equals(co1, co2))
  {
   System.out.println("兩次輸入密碼不一致!");
   System.out.println("即將返回主界面");
   Teacher();
  }
  else
  {
   ac.setCode(co1);
   System.out.println("密碼修改成功!");
   System.out.println("輸入任意值返回主菜單");
   Scanner in=new Scanner(System.in);
   in.next();
   Teacher();
  }
 }
}

更多學(xué)習(xí)資料請關(guān)注專題《管理系統(tǒng)開發(fā)》。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java數(shù)組,去掉重復(fù)值、增加、刪除數(shù)組元素的實(shí)現(xiàn)方法

    Java數(shù)組,去掉重復(fù)值、增加、刪除數(shù)組元素的實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄狫ava數(shù)組,去掉重復(fù)值、增加、刪除數(shù)組元素的實(shí)現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • Spring Boot集成Spring Cloud Eureka進(jìn)行服務(wù)治理的方法

    Spring Boot集成Spring Cloud Eureka進(jìn)行服務(wù)治理的方法

    本文通過詳細(xì)的步驟和代碼示例,介紹了如何在Spring Boot中集成Spring Cloud Eureka進(jìn)行服務(wù)治理,通過這種方式,可以有效地管理和維護(hù)微服務(wù)架構(gòu)中的服務(wù),感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • mybatis配置mapper-locations位置的三種方式小結(jié)

    mybatis配置mapper-locations位置的三種方式小結(jié)

    這篇文章主要給大家介紹了關(guān)于mybatis配置mapper-locations位置的三種方式,Mybatis-Plus的初衷是為了簡化開發(fā),而不建議開發(fā)者自己寫SQL語句的,但是有時客戶需求比較復(fù)雜,需要的朋友可以參考下
    2023-08-08
  • java分布式事務(wù)之可靠消息最終一致性解決方案

    java分布式事務(wù)之可靠消息最終一致性解決方案

    這篇文章主要為大家介紹了java分布式事務(wù)之可靠消息最終一致性解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • java線程的中斷和同步問題的實(shí)現(xiàn)

    java線程的中斷和同步問題的實(shí)現(xiàn)

    本文主要介紹了java線程的中斷和同步問題的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • Java網(wǎng)絡(luò)編程中的TCP/UDP詳解

    Java網(wǎng)絡(luò)編程中的TCP/UDP詳解

    這篇文章主要介紹了Java網(wǎng)絡(luò)編程中的TCP/UDP詳解,網(wǎng)絡(luò)編程是指編寫運(yùn)行在多個設(shè)備的程序,這些設(shè)備都通過網(wǎng)絡(luò)連接起來,java.net 包中 J2SE 的 API 包含有類和接口,它們提供低層次的通信細(xì)節(jié),需要的朋友可以參考下
    2023-12-12
  • 詳解HDFS多文件Join操作的實(shí)例

    詳解HDFS多文件Join操作的實(shí)例

    這篇文章主要介紹了詳解HDFS多文件Join操作的實(shí)例的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • maven setting多倉庫配置方式

    maven setting多倉庫配置方式

    這篇文章主要介紹了maven setting多倉庫配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • java Scanner輸入數(shù)字、字符串過程解析

    java Scanner輸入數(shù)字、字符串過程解析

    這篇文章主要介紹了java Scanner輸入數(shù)字、字符串過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • SpringBoot整合RabbitMQ及原理

    SpringBoot整合RabbitMQ及原理

    這篇文章主要介紹了SpringBoot整合RabbitMQ及其原理分析,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06

最新評論

松滋市| 巧家县| 通道| 天峻县| 浦北县| 龙岩市| 古交市| 万载县| 天柱县| 义马市| 台江县| 体育| 栾川县| 海宁市| 祁连县| 彝良县| 宜兴市| 尚志市| 新竹县| 桂平市| 安平县| 体育| 濮阳县| 诸暨市| 汉源县| 麻阳| 双辽市| 商洛市| 从化市| 孝感市| 青州市| 前郭尔| 罗平县| 宁南县| 定远县| 北辰区| 宁蒗| 区。| 玛沁县| 浪卡子县| 穆棱市|