java開學測試

先經過ScoreInformation來創建類來幫助存儲記錄信息。
 
package text20190909;
public class ScoreInformation {
private String stunumber;
private String name;
private double  mathematicsscore;
private double englishiscore;
private double networkscore;
private double databasescore;
private double softwarescore;
public String getStunumber() {
 return stunumber;
}
public void setStunumber(String stunumber) {
 this.stunumber = stunumber;
}
public String getName() {
 return name;
}
public void setName(String name) {
 this.name = name;
}
public double getMathematicsscore() {
 return mathematicsscore;
}
public void setMathematicsscore(double mathematicsscore) {
 this.mathematicsscore = mathematicsscore;
}
public double getEnglishiscore() {
 return englishiscore;
}
public void setEnglishiscore(double englishiscore) {
 this.englishiscore = englishiscore;
}
public double getNetworkscore() {
 return networkscore;
}
public void setNetworkscore(double networkscore) {
 this.networkscore = networkscore;
}
public double getDatabasescore() {
 return databasescore;
}
public void setDatabasescore(double databasescore) {
 this.databasescore = databasescore;
}
public double getSoftwarescore() {
 return softwarescore;
}
public void setSoftwarescore(double softwarescore) {
 this.softwarescore = softwarescore;
}
public ScoreInformation(String stunumber, String name, double mathematicsscore, double englishiscore,
  double networkscore, double databasescore, double softwarescore) {
 super();
 this.stunumber = stunumber;
 this.name = name;
 this.mathematicsscore = mathematicsscore;
 this.englishiscore = englishiscore;
 this.networkscore = networkscore;
 this.databasescore = databasescore;
 this.softwarescore = softwarescore;
}

}
而後在同一個包內創建ScoreManagemnet來實現這個題目。
package text20190909;
import java.util.Scanner;
public class ScoreManagement {
static double b=0;
static ScoreInformation a[]=new ScoreInformation[10000];
static Scanner sr=null;
static String judge="Y";
static int  sum=0;
static void  menu1()//主菜單
{ System.out.println("***********************************************************");
    System.out.println("                石家莊鐵道大學軟件工程系 ");
 System.out.println("                學生學籍管理系統 2019 版 ");
 System.out.println("*********************************************************** ");
 System.out.println("一、 學生考試成績錄入 \r\n" +
   "二、 學生考試成績修改 \r\n" +
   "三、 計算學生成績績點 \r\n" +
   "四、退出學籍管理系統 ");
 System.out.println("********************************************************** ");
}
static void menu2()
{System.out.println("***********************************************************\r\n" +
  "        石家莊鐵道大學軟件工程系學生學籍管理系統 2019 版 \r\n" +
  "                 學生考試成績錄入 \r\n" +
  "*********************************************************** ");
 
}
 
public static  void luru()//成績錄入
{ menu2();
  
  System.out.print("                 請輸入學生學號:");
  sr=new Scanner(System.in);
  String number;
  int i,j=0;
  double math,english,net,data,soft;
  number=sr.next();
  System.out.println("********************************************************** ");
   for(i=0;i<sum;i++)
    {
    if(a[i].getStunumber().compareTo(number)==0)
     { System.out.println("            學生學號:"+a[i].getStunumber());
      System.out.println("            學生姓名:"+a[i].getName());
      System.out.print("          請輸入高等數學成績:");
      math=sr.nextDouble();
      System.out.println(math);
      System.out.print("          請輸入英語成績:");
      english=sr.nextDouble();
      System.out.println(english);
      System.out.print("          請輸入計算機網絡成績:");
      net=sr.nextDouble();
      System.out.println(net);
      System.out.print("          請輸入數據庫成績:");
      data=sr.nextDouble();
      System.out.println(data);
      System.out.print("          請輸入軟件工程成績:");
      soft=sr.nextDouble();
      System.out.println(soft);
      menu2();
      System.out.println("            學生學號:"+a[i].getStunumber());
      System.out.println("            學生姓名:"+a[i].getName());
      System.out.println("          請輸入高等數學成績:"+math);
      System.out.println("          請輸入英語成績:"+english);
      System.out.println("          請輸入計算機網絡成績:"+net);
      System.out.println("          請輸入數據庫成績:"+data);
      System.out.println("          請輸入軟件工程成績:"+soft);
      System.out.println("          該學生成績已錄入完畢,是否提交(Y/N)");
      System.out.println("********************************************************** ");
      judge=sr.next();
      if(judge.compareTo("Y")==0)
       {a[i].setMathematicsscore(math);
       a[i].setEnglishiscore(english);
       a[i].setNetworkscore(net);
       a[i].setDatabasescore(data);
       a[i].setSoftwarescore(soft);
       }
      
     }
    else
    j++;
   
   }
   if(j==sum)
   {
    System.out.println("該學號不存在");
   }
   
 while(j==sum)
 {menu2();
 
 System.out.print("                 請輸入學生學號:");
  number=sr.next();
  System.out.println("********************************************************** ");
   for(i=0;i<sum;i++)
    {
    if(a[i].getStunumber().compareTo(number)==0)
     { System.out.println("            學生學號:"+a[i].getStunumber());
      System.out.println("            學生姓名:"+a[i].getName());
      System.out.print("          請輸入高等數學成績:");
      math=sr.nextDouble();
      System.out.println(math);
      System.out.print("          請輸入英語成績:");
      english=sr.nextDouble();
      System.out.println(english);
      System.out.print("          請輸入計算機網絡成績:");
      net=sr.nextDouble();
      System.out.println(net);
      System.out.print("          請輸入數據庫成績:");
      data=sr.nextDouble();
      System.out.println(data);
      System.out.print("          請輸入軟件工程成績:");
      soft=sr.nextDouble();
      System.out.println(soft);
      menu2();
      System.out.println("            學生學號:"+a[i].getStunumber());
      System.out.println("            學生姓名:"+a[i].getName());
      System.out.println("          請輸入高等數學成績:"+math);
      System.out.println("          請輸入英語成績:"+english);
      System.out.println("          請輸入計算機網絡成績:"+net);
      System.out.println("          請輸入數據庫成績:"+data);
      System.out.println("          請輸入軟件工程成績:"+soft);
      System.out.println("          該學生成績已錄入完畢,是否提交(Y/N)");
      System.out.println("********************************************************** ");
      judge=sr.next();
      if(judge.compareTo("Y")==0)
       {a[i].setMathematicsscore(math);
       a[i].setEnglishiscore(english);
       a[i].setNetworkscore(net);
       a[i].setDatabasescore(data);
       a[i].setSoftwarescore(soft);
       }
      
     }
    else
    j++;
  
  
 }}
 
}
static void menu3()
{System.out.println("***********************************************************\r\n" +
  "        石家莊鐵道大學軟件工程系學生學籍管理系統 2019 版 \r\n" +
  "                    學生考試成績修改 \r\n" +
  "*********************************************************** ");
 
}
public static void xiugai()
{ menu3();
 System.out.print("請輸入學生學號(八位):");
sr=new Scanner(System.in);
int i,j;
j=0;
String number;
double math = 0,english=0,net=0,data=0,soft=0;
number=sr.next();
for(i=0;i<sum;i++)
{ if(a[i].getStunumber().compareTo(number)==0)
 {menu2();
 System.out.println("              學生學號:"+a[i].getStunumber());
 System.out.println("               學生姓名:"+a[i].getName());
 System.out.println("            一、高等數學成績:"+a[i].getMathematicsscore());
 System.out.println("            二、大學英語成績:"+a[i].getEnglishiscore());
 System.out.println("            三、計算機網絡成績"+a[i].getNetworkscore());
 System.out.println("            四、數據庫成績"+a[i].getDatabasescore());
 System.out.println("            五、軟件工程成績"+a[i].getSoftwarescore());
 System.out.println("********************************************************** ");
 int n,m;
 n=sr.nextInt();
 switch(n)
 {
 case 1:menu2();
 b=a[i].getMathematicsscore();
   System.out.println("               學生學號:"+a[i].getStunumber());
   System.out.println("                學生姓名:"+a[i].getName());
   System.out.print("           請輸入修改後高等數學成績:");
   math=sr.nextDouble();
 a[i].setMathematicsscore(math);
   System.out.println(math);break;
 case 2:menu2();
 b=a[i].getEnglishiscore();
 System.out.println("               學生學號:"+a[i].getStunumber());
 System.out.println("                學生姓名:"+a[i].getName());
 System.out.print("           請輸入修改後大學英語成績:");
 english=sr.nextDouble();
 a[i].setEnglishiscore(english);
 System.out.println(english);break;
 case 3:menu2();
 b=a[i].getNetworkscore();
 System.out.println("               學生學號:"+a[i].getStunumber());
 System.out.println("                學生姓名:"+a[i].getName());
 System.out.print("           請輸入修改後計算機網絡成績:");
 net=sr.nextDouble();
 a[i].setNetworkscore(net);
 System.out.println(net);break;
 case 4:menu2();
 b=a[i].getDatabasescore();
 System.out.println("               學生學號:"+a[i].getStunumber());
 System.out.println("                學生姓名:"+a[i].getName());
 System.out.print("           請輸入修改後數據庫成績:"); data=sr.nextDouble();
 a[i].setDatabasescore(data);
 System.out.println(data);break;
 case 5:menu2();
 b=a[i].getSoftwarescore();
 System.out.println("               學生學號:"+a[i].getStunumber());
 System.out.println("                學生姓名:"+a[i].getName());
 System.out.print("           請輸入修改後軟件工程成績:");
 soft=sr.nextDouble();
 a[i].setSoftwarescore(soft);
 System.out.println(soft);break;
 
 }
 menu2();
 System.out.println("              學生學號:"+a[i].getStunumber());
 System.out.println("               學生姓名:"+a[i].getName());
 System.out.println("            一、高等數學成績:"+a[i].getMathematicsscore());
 System.out.println("            二、大學英語成績:"+a[i].getEnglishiscore());
 System.out.println("            三、計算機網絡成績"+a[i].getNetworkscore());
 System.out.println("            四、數據庫成績"+a[i].getDatabasescore());
 System.out.println("            五、軟件工程成績"+a[i].getSoftwarescore());
 System.out.println("       該成績已完成修改,是否提交Y/N");
 System.out.println("********************************************************** ");
 judge=sr.next();
 if(judge.compareTo("Y")==0)
 {switch(n)
  {
 case 1:a[i].setMathematicsscore(math);break;
 case 2:a[i].setEnglishiscore(english);break;
 case 3:a[i].setNetworkscore(net);break;
 case 4:a[i].setDatabasescore(data);break;
 case 5:a[i].setSoftwarescore(soft);break;
  }
 
 
 }
 else
 {switch(n)
  {
 case 1:a[i].setMathematicsscore(b);break;
 case 2:a[i].setEnglishiscore(b);break;
 case 3:a[i].setNetworkscore(b);break;
 case 4:a[i].setDatabasescore(b);break;
 case 5:a[i].setSoftwarescore(b);break;
  }
  
 }
 }
else
 j++;

 }
 if(j==sum)
 {System.out.println("該學號不存在");}
 while(j==sum)
 {menu3();
 
 number=sr.next();
 for(i=0;i<sum;i++)
 { if(a[i].getStunumber().compareTo(number)==0)
  {menu2();
  System.out.println("              學生學號:"+a[i].getStunumber());
  System.out.println("               學生姓名:"+a[i].getName());
  System.out.println("            一、高等數學成績:"+a[i].getMathematicsscore());
  System.out.println("            二、大學英語成績:"+a[i].getEnglishiscore());
  System.out.println("            三、計算機網絡成績"+a[i].getNetworkscore());
  System.out.println("            四、數據庫成績"+a[i].getDatabasescore());
  System.out.println("            五、軟件工程成績"+a[i].getSoftwarescore());
  System.out.println("********************************************************** ");
  int n,m;
  n=sr.nextInt();
  switch(n)
  {
  case 1:menu2();
    System.out.println("               學生學號:"+a[i].getStunumber());
    System.out.println("                學生姓名:"+a[i].getName());
    System.out.print("           請輸入修改後高等數學成績:");
    math=sr.nextDouble();
    a[i].setMathematicsscore(math);
    System.out.println(math);break;
  case 2:menu2();
  System.out.println("               學生學號:"+a[i].getStunumber());
  System.out.println("                學生姓名:"+a[i].getName());
  System.out.print("           請輸入修改後大學英語成績:");
  english=sr.nextDouble();
  a[i].setEnglishiscore(english);
  System.out.println(english);break;
  case 3:menu2();
  System.out.println("               學生學號:"+a[i].getStunumber());
  System.out.println("                學生姓名:"+a[i].getName());
  System.out.print("           請輸入修改後計算機網絡成績:");
  net=sr.nextDouble();
  a[i].setNetworkscore(net);
  System.out.println(net);break;
  case 4:menu2();
  System.out.println("               學生學號:"+a[i].getStunumber());
  System.out.println("                學生姓名:"+a[i].getName());
  System.out.print("           請輸入修改後數據庫成績:");
  data=sr.nextDouble();
  a[i].setDatabasescore(data);
  System.out.println(data);break;
  case 5:menu2();
  System.out.println("               學生學號:"+a[i].getStunumber());
  System.out.println("                學生姓名:"+a[i].getName());
  System.out.print("           請輸入修改後軟件工程成績:");
  soft=sr.nextDouble();
  a[i].setSoftwarescore(soft);
  System.out.println(soft);break;
  
  }
  menu2();
  System.out.println("              學生學號:"+a[i].getStunumber());
  System.out.println("               學生姓名:"+a[i].getName());
  System.out.println("            一、高等數學成績:"+a[i].getMathematicsscore());
  System.out.println("            二、大學英語成績:"+a[i].getEnglishiscore());
  System.out.println("            三、計算機網絡成績"+a[i].getNetworkscore());
  System.out.println("            四、數據庫成績"+a[i].getDatabasescore());
  System.out.println("            五、軟件工程成績"+a[i].getSoftwarescore());
  System.out.println("       該成績已完成修改,是否提交Y/N");
  System.out.println("********************************************************** ");
  judge=sr.next();
  if(judge.compareTo("Y")==0)
  {switch(n)
   {
  case 1:a[i].setMathematicsscore(math);break;
  case 2:a[i].setEnglishiscore(english);break;
  case 3:a[i].setNetworkscore(net);break;
  case 4:a[i].setDatabasescore(data);break;
  case 5:a[i].setSoftwarescore(soft);break;
   }
   
  }
  else
  {switch(n)
   {
  case 1:a[i].setMathematicsscore(b);break;
  case 2:a[i].setEnglishiscore(b);break;
  case 3:a[i].setNetworkscore(b);break;
  case 4:a[i].setDatabasescore(b);break;
  case 5:a[i].setSoftwarescore(b);break;
   }
   
  }
  
  }
 else
  j++;
  }
 }
}
public static void menu4()
{
 System.out.println("***********************************************************\r\n" +
   "        石家莊鐵道大學軟件工程系學生學籍管理系統 2019 版 \r\n" +
   "                    學生考試成績績點修改 \r\n" +
   "*********************************************************** ");
 
}
public static double jidian(double a)
{double i=0;
 if(a>=90)
{i=4.0;
 }
 else if(a>=85&&a<=89.9)
 {i=3.7;
  
 }
 else if(a>=82&&a<=84.9)
 {i=3.3;}
 else if(a>=78&&a<=81.9)
 {i=3.0;}
 else if(a>=75&&a<=77.9)
 {i=2.7;}
 else if(a>=72&&a<=74.9)
 {
  i=2.3;
 }
 else if(a>=68&&a<=71.9)
 {i=2.0;}
 else if(a>=66&&a<=67.9)
 {i=1.7;}
 else if(a>=64&&a<=65.9)
 {
  i=1.5;
 }
 
 else if(a>=60&&a<=63.9)
 {
  i=1.0;
  
 }
 else if(a<=60)
 {
  i=0;
 }
 return i;
 
}
public static double pingjun(double a1,double a2,double  a3,double a4,double a5)
{double i=(a1*4+a2*3+a3*4+a4*3+a5*2)/16;
 
return i;
}
public static void grade()
{menu4();
System.out.print("請輸入學生學號(八位)");
String number;
int i;
int j=0;
sr=new Scanner(System.in);
number=sr.next();
for(i=0;i<sum;i++) 
{ if(a[i].getStunumber().compareTo(number)==0)
 {menu4();
 System.out.println("              學生學號:"+a[i].getStunumber());
 System.out.println("               學生姓名:"+a[i].getName());
 System.out.println("            一、高等數學績點:"+jidian(a[i].getMathematicsscore()));
 System.out.println("            二、大學英語績點:"+jidian(a[i].getEnglishiscore()));
 System.out.println("            三、計算機網絡績點"+jidian(a[i].getNetworkscore()));
 System.out.println("            四、數據庫績點"+jidian(a[i].getDatabasescore()));
 System.out.println("            五、軟件工程績點"+jidian(a[i].getSoftwarescore()));
 System.out.println("           你的平均績點爲:"+pingjun(jidian(a[i].getMathematicsscore()),jidian(a[i].getEnglishiscore()),jidian(a[i].getNetworkscore()),jidian(a[i].getDatabasescore()),jidian(a[i].getSoftwarescore())));
 if(pingjun(jidian(a[i].getMathematicsscore()),jidian(a[i].getEnglishiscore()),jidian(a[i].getNetworkscore()),jidian(a[i].getDatabasescore()),jidian(a[i].getSoftwarescore()))>=2)
 {
  System.out.println("        您的學分績點已達要求!");
 }
 else
  System.out.println("        您的學分績點不知足畢業要求!");
 System.out.println("          是否返回系統主界面:(Y/N)");
 System.out.println("********************************************************** ");
judge=sr.next();
while(judge.compareTo("N")==0)
{}
 }
else j++;
 
}
if(j==sum)
{System.out.println("該學號不存在");
}
while(j==sum)
{j=0;
 menu4();
System.out.print("請輸入學生學號");
number=sr.next();
for(i=0;i<sum;i++) 
{ if(a[i].getStunumber().compareTo(number)==0)
 {menu4();
 System.out.println("              學生學號:"+a[i].getStunumber());
 System.out.println("               學生姓名:"+a[i].getName());
 System.out.println("            一、高等數學績點:"+jidian(a[i].getMathematicsscore()));
 System.out.println("            二、大學英語績點:"+jidian(a[i].getEnglishiscore()));
 System.out.println("            三、計算機網絡績點"+jidian(a[i].getNetworkscore()));
 System.out.println("            四、數據庫績點"+jidian(a[i].getDatabasescore()));
 System.out.println("            五、軟件工程績點"+jidian(a[i].getSoftwarescore()));
 System.out.println("           你的平均績點爲:"+pingjun(jidian(a[i].getMathematicsscore()),jidian(a[i].getEnglishiscore()),jidian(a[i].getNetworkscore()),jidian(a[i].getDatabasescore()),jidian(a[i].getSoftwarescore())));
 if(pingjun(jidian(a[i].getMathematicsscore()),jidian(a[i].getEnglishiscore()),jidian(a[i].getNetworkscore()),jidian(a[i].getDatabasescore()),jidian(a[i].getSoftwarescore()))>=2)
 {
  System.out.println("        您的學分績點已達要求!");
 }
 else
  System.out.println("        您的學分績點不知足畢業要求!");
 System.out.println("          是否返回系統主界面:(Y/N)");
 System.out.println("********************************************************** ");
judge=sr.next();
while(judge.compareTo("N")==0)
{}
 }
}}}
 
 public static void tuichu()
{ System.out.println("***********************************************************");
 System.out.println("  謝謝使用石家莊鐵道大學軟件工程系學生學籍管理系統 2019 版");
 System.out.println("                     製做人:穀子騰");
 System.out.println("*********************************************************** ");
  
 }
 public static void main(String[] args) {
  int i,j;
  String stunumber,name;
       System.out.println("請輸入5個學生的學號和姓名");
  for(i=0;i<5;i++)
  {
   sr=new Scanner(System.in);
   stunumber=sr.next();
   name=sr.next();
  
   a[i]=new ScoreInformation(stunumber,name,0,0,0,0,0);
   sum++;
  }
  j=0;
 while(j!=4)
 {
  menu1();
  j=sr.nextInt();
  switch(j)
  {
  case 1:luru();
    while(judge.compareTo("N")==0)
     {luru();
   
    }   
   break;
  case 2:xiugai();
  while(judge.compareTo("N")==0)
  {
   xiugai();
  };break;
  case 3:grade();break;
  case 4:tuichu();break;
  default:break;
  }
  if(j==4)
  {break;}
 }
    }
}
1解題思路顯示用一個單獨的類來幫忙記錄一下信息
2在ScoreManagement中使用幾個相似於全局變量的ScoreInformation數組來計入學生的 信息,和用scanner全局null來減小次數,用judge的String類型幫忙記錄Y和N。
3使用多個菜單來來刷屏幫助實現界面。
4在錄入和 修改和績點分別單獨寫了函數主要是用switch來分別使用不一樣選項來實現不一樣功能還用switch來實現Y/N的功能。
5算績點就是經過兩個普通函數來實現功能,是否符合畢業績點直接使用if語句。
 
 
截圖
主界面

 

成績錄入css

 

 

二、成績修改java

 

 

 三、成績績點數據庫

 

四、退出數組

相關文章
相關標籤/搜索