?? business.java
字號(hào):
package control;
import java.util.*;
import java.io.*;
import model.Student;
public class Business
{
public static void switchMenu(int n,Vector stuVector) throws IOException
{
switch(n)
{
case 1:
//輸入學(xué)生成績(jī)
enterStuResult(stuVector);
break;
case 2:
//查詢學(xué)生成績(jī)
searchStuInfo(stuVector);
break;
case 3:
//統(tǒng)計(jì)學(xué)生成績(jī)
statisticAll(stuVector);
break;
case 4:
//統(tǒng)計(jì)學(xué)生平均成績(jī)
statisticAvg(stuVector);
break;
case 5:
//退出系統(tǒng)
System.out.println("謝謝您的使用,再見(jiàn)");
System.exit(0);
break;
default:
System.out.println("您輸入有誤,請(qǐng)重新輸入");
}
}
public static void enterStuResult(Vector stuVector) throws IOException
{
printLine();
InputStreamReader in=new InputStreamReader(System.in);
BufferedReader reader=new BufferedReader(in);
String yesOrNo;
do
{
System.out.println("請(qǐng)輸入學(xué)生的基本信息");
Student student=new Student();
student.setStuNu(inputStuNu("學(xué)號(hào):",reader,stuVector));
//這里為什么要加上vector這樣的一個(gè)參數(shù)呢?
//主要是因?yàn)槲覀儽仨汄?yàn)證我們?cè)谳斎霑r(shí)是否有相同的學(xué)號(hào),我們必須到我們的動(dòng)態(tài)數(shù)據(jù)庫(kù)中驗(yàn)證
student.setName(inputStuName("姓名:",reader));
student.setAge(inputInt("年齡:",reader));
student.setResult(inputDouble("成績(jī):",reader));
stuVector.addElement(student);
System.out.println();
System.out.println("輸入成功,按q鍵終止!");
yesOrNo=reader.readLine();
}while(!yesOrNo.toLowerCase().equals("q"));
}
public static void searchStuInfo(Vector stuVector) throws IOException
{
printLine();
System.out.println("請(qǐng)輸入這個(gè)學(xué)生的學(xué)號(hào):");
InputStreamReader in=new InputStreamReader(System.in);
BufferedReader reader=new BufferedReader(in);
String stuNu=reader.readLine();
System.out.println("正在查詢這個(gè)學(xué)生的成績(jī).......");
for(int i=0;i<stuVector.size();i++)
{
Student student=(Student)stuVector.elementAt(i);
if(student.hasSuchStudent(stuNu))
{
student.printStuInfo();
}
}
}
public static void statisticAll(Vector stuVector)throws IOException
{
System.out.println();
printLine();
System.out.println("正在統(tǒng)計(jì)學(xué)生的總成績(jī)......");
System.out.println("您輸入了"+stuVector.size()+"個(gè)學(xué)生成績(jī)信息");
System.out.print("總成績(jī):");
double totalResult=0;
for(int i=0;i<stuVector.size();i++)
{
Student student=(Student)stuVector.elementAt(i);
totalResult+=student.getResult();
}
System.out.print(totalResult);
}
public static void statisticAvg(Vector stuVector)
{
System.out.println();
printLine();
System.out.println("正在統(tǒng)計(jì)學(xué)生的平均成績(jī)......");
System.out.println("您輸入了"+stuVector.size()+"個(gè)學(xué)生成績(jī)信息");
System.out.print("平均成績(jī):");
double totalResult=0;
double averageResult=0;
for(int i=0;i<stuVector.size();i++)
{
Student student=(Student)stuVector.elementAt(i);
totalResult+=student.getResult();
}
averageResult=totalResult/stuVector.size();
System.out.print(averageResult);
}
public static String inputStuNu(String prompt,BufferedReader reader,Vector stuVector)
{
String ret="";
do
{
try
{
ret=inputString(prompt,reader);
if(!stuNuUnique(stuVector,ret))
throw new Exception();
return ret;
}
catch(Exception e)
{
System.out.println("對(duì)不起,您輸入的學(xué)號(hào)已經(jīng)存在,請(qǐng)重試");
continue;
}
}
while(true);
}
public static String inputStuName(String prompt,BufferedReader reader)
{
String temp="";
do
{
temp=inputString(prompt,reader);
return temp;
}while(true);
}
public static String inputString(String prompt,BufferedReader reader)
{
String ret="";
do
{
try
{
System.out.print(prompt);
ret=reader.readLine();
if(ret.trim().length()==0)
throw new Exception();
return ret;
}
catch(Exception e)
{
System.out.println("您還沒(méi)有輸入字符,請(qǐng)重試!");
continue;
}
}while(true);
}
public static int inputInt(String prompt,BufferedReader reader)
{
int ret=0;
do
{
try
{
System.out.print(prompt);
ret=Integer.parseInt(reader.readLine());
return ret;
}
catch(Exception e)
{
System.out.println("您輸入的不是數(shù)字,請(qǐng)重新輸入");
continue;
}
}while(true);
}
public static double inputDouble(String prompt,BufferedReader reader)
{
double ret=0;
do
{
try
{
System.out.print(prompt);
ret=Double.parseDouble(reader.readLine());
return ret;
}
catch(Exception e)
{
System.out.println("您輸入的不是數(shù)字,請(qǐng)重新輸入");
continue;
}
}while(true);
}
public static boolean stuNuUnique(Vector stuVector,String stuNu)throws IOException
{
boolean flag=true;
for(int i=0;i<stuVector.size();i++)
{
Student student=(Student)stuVector.elementAt(i);
if(student.hasSuchStudent(stuNu))
{
flag=false;
}
}
return flag;
}
//打印出菜單,由于我們實(shí)在命令行的窗口中,所以這就是我們的所謂的用戶界面窗口
public static void printMenu()
{
printLine();
System.out.println("\t=====菜單=====");
System.out.println("\t1:輸入學(xué)生成績(jī)");
System.out.println("\t2:查詢學(xué)生成績(jī)");
System.out.println("\t3:統(tǒng)計(jì)學(xué)生成績(jī)");
System.out.println("\t4:統(tǒng)計(jì)學(xué)生平均成績(jī)");
System.out.println("\t5:退出系統(tǒng)");
System.out.print("\n請(qǐng)輸入您的選擇");
}
//打印出我們的項(xiàng)目主題,由于我們實(shí)在命令行的窗口中,所以這就是我們的所謂的用戶界面窗口
public static void printLine()
{
System.out.println("===========學(xué)生成績(jī)管理系統(tǒng)==========");
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -