版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、、需求分析1. 實現對班級和學生基本資料的錄入,包括學生的學號,姓名,性別,所學專業(yè),家庭住址以及出生年月等。2. 能夠實現對班級學生基本資料的修改。3. 根據學號對學生資料進行查詢。4. 能夠刪除學生的資料。概要設計根據本次課程設計的目的和以上的問題描述,把該班級管理系統(tǒng)分為五個模塊:錄入模塊(StudentSituation)、查詢模塊(Inques )、刪 除模塊(Delete )和修 改模塊(ModifySituation)。各個模塊包括對學生學號,姓名,所學專業(yè),家庭住址,出生日期等信息的操作。系統(tǒng)的結構圖如圖一:圖1系統(tǒng)結構圖三、總體設計本班級管理系統(tǒng)共有 6個java源文件。類之
2、間的主要關系如下圖所示:圖2類之間的主要關系各主類的主要作用如下:該java文件的類負責創(chuàng)建班級學生管理系統(tǒng)的主窗口,該類包含main方法,程序從該類開始執(zhí)行。該文件的類負責創(chuàng)建班級學生管理系統(tǒng)的學生信息錄入界面。該文件的類負責創(chuàng)建班級學生管理系統(tǒng)的學生基本信息修改界面。該文件的類負責創(chuàng)建班級學生管理系統(tǒng)的學生基本信息查詢界面。該文件的類負責創(chuàng)建班級學生管理系統(tǒng)的學生信息刪除界面。負責創(chuàng)建存放學生信息的對象。四、詳細設計1. 管理系統(tǒng)主窗口成員變量表1-1主要成員變量成員變量描述變量類型變量名稱基本信息錄入Stude ntSituati on基本信息錄入基本信息修改ModifySituatio
3、 n基本信息修改基本信息查詢In quest基本信息查詢基本信息刪除Delete基本信息刪除菜單選項JMe nultem錄入,修改,查詢,刪除存基本信息的散列表Hashtable基本信息存放散列表的文件Filefile方法表1-2主要方法名稱功能備注Stude ntMa nager actio nPerformed mai n創(chuàng)建程序主窗口處理ActionEvent事件程序開始運行構造方法 接口方法界面截圖:2. 基本信息錄入成員變量表2-1主要成員變量屬性描述變量類型變量名稱存放“學生”對象的散列表 輸入學生基本信息的文本 存放學生信息的對象HashtableJTextFieldStude
4、nt基本信息表學號,姓名,所學專業(yè),家庭住址,出生 學生方法表2-2主要方法名稱功能備注Stude ntSituati on創(chuàng)建學生信息錄入界面構造方法actio nPeformed處理ActionEvent 事件接口方法錄入界面截圖:3. 基本信息查詢成員變量表3-1主要成員變量屬性描述變量類型變量名稱存放“學生”對象的散表 顯示學生基本信息的文本HashtableJTextField基本信息表學號,姓名,所學專業(yè),家庭住 址,出生方法表3-2主要方法名稱功能備注In quest創(chuàng)建杳詢界面構造方法actio nPeformed處理ActionEvent 事件接口方法查詢截圖:4. 基本信息
5、修改成員變量表4-1主要成員變量描述變量類型變量名稱存放“學生”對象的散列表輸入學生基本信息的文本條HashtabelJTextField基本信息表學號,姓名,所學專業(yè),家庭住址,出生方法表4-2主要方法名稱功能備注ModifySituatio n創(chuàng)建學生信息修改界面構造方法actio nPerform處理ActionEvent 事件接口方法修改界面截圖:5. 基本信息刪除成員變量表5-1主要成員變量描述變量類型變量名稱存放“學生”對象的散列表 顯示學生基本信息的文本條HashtableJTextField基本信息表學號,姓名,所學專業(yè),家庭住址,出生方法表5-2主要方法名稱功能備注Delet
6、e創(chuàng)建學生信息刪除界面構造方法actio nPeformed處理 ActionEvent接口方法刪除界面截圖6. 學生對象成員變量表6-1主要成員變量描述變量類型變量名稱學號Stri ngNumber姓名Stri ngName所學專業(yè)Stri ngDiscipli ng家庭住址Stri ngGrade出生Stri ngBorth性別Stri ngSex方法表6-2主要方法名稱功能Setnu mber設置學號Setnu mber獲取學號Setn ame設置姓名Setn ame獲取姓名setDiscip ing設置所學專業(yè)setDiscip ing獲取所學專業(yè)setGrade設置家庭住址setGr
7、ade獲取家庭住址setBorth設置出生setBorth獲取出生setSex設置性別setSex獲取性別五、總結與展望課程設計是培養(yǎng)學生綜合運用所學知識,發(fā)現,提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學生實際工作能力的具體訓練和考察過程本次課程設計雖然很辛苦,實在是受益匪淺。本來這門課的知識學的就不夠扎實,本次課程設計,在設計過程中碰到了很多問題,剛開始要設計的時候,還真不知道從哪里下手但最終在圖書、同學和老師的幫助 下都得到了解決,讓我學會了好多書本上沒有的東西,通過本次課程設計我也能將課本上的知識融會貫通,起到了很好的輔助學習的效果,但是我發(fā)現我學到的知識比整整一個學期學到
8、的都多。理論和實踐的相結合是學習最有效的方法。在設計的過程中發(fā)現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,通過這次課程設計之后, 一定把以前所學過的知識重新溫故。通過這次課程設計使我懂得了理論與實際相結合是很重要從理論中得出的,只有理論知識是遠遠不夠的, 只有把所學的理論知識與實踐相結合起來,結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。不過,在用Java開發(fā)類似的軟件時, 發(fā)現在圖形界面的設計方面遠沒有用VB VF等開發(fā)工具簡單。參考文獻:附錄:1. 主界面代碼import .*; import .*; import .*;importcla
9、ssActionListenerStudentManagerextends JFrame implements錄入,修改,查詢,刪除 ,退出 基本信息 =null;StudentSituation ModifySituation Inquest Delete JMenuBar bar; JMenu fileMenu; JMenuItem Container con=null; Hashtable基本信息錄入 =null; 基本信息修改 =null; 基本信息查詢 =null; 基本信息刪除 =null;File file=null; CardLayout card=null;JLabel la
10、bel;JPanel pCenter; public StudentManager() setTitle(" 歡迎進入班級管理系統(tǒng) ");) ) )錄入 =new JMenuItem(" 錄入學生基本信息 修改 =new JMenuItem(" 修改學生基本信息 查詢 =new JMenuItem(" 查詢學生基本信息 刪除 =new JMenuItem(" 刪除學生基本信息 退出 =new JMenuItem(" 退出本系統(tǒng) ");退出 .addActionListener(new ActionListener(
11、)public void actionPerformed(ActionEvent event)(0););bar=new JMenuBar();fileMenu=new JMenu("菜單選項 ");( 錄入 );();( 修改 );();( 查詢 );();( 刪除 );();();( 退出 );(fileMenu);setJMenuBar(bar);label=new JLabel(" 歡迎進入班級管理系統(tǒng) !",;(new Font("隸書 ",30);J基本信息 =new Hashtable();錄入 .addActionLi
12、stener(this);修改 .addActionListener(this);查詢 .addActionListener(this);刪除 .addActionListener(this);card=new CardLayout();con=getContentPane();pCenter=new JPanel();(card);file=new File(" 學生基本信息 .txt");if(!()tryFileOutputStream out=new FileOutputStream(file);ObjectOutputStreamobjectOut=newObje
13、ctOutputStream(out);( 基本信息 );();();catch(IOException e)基本信息錄入 =new StudentSituation(file);基本信息修改 =new ModifySituation(file);基本信息查詢 =new Inquest(this,file); 基本信息刪除 =new Delete(file);(" 歡迎語界面 ",label);(" 錄入界面 ", 基本信息錄入 );(" 修改界面 ", 基本信息修改 );(" 刪除界面 ", 基本信息刪除 );(
14、pCenter,;();addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e)(0););setVisible(true); setBounds(100,50,420,380); validate();public void actionPerformed(ActionEvent e)if()=錄入 )(pCenter," 錄入界面 ");else if()= 修改 )(pCenter," 修改界面 ");else if()= 查詢 )基本信息查詢 .s
15、etVisible(true);else if()= 刪除 )(pCenter," 刪除界面 ");public static void main(String args)new StudentManager();2. 錄入代碼import .*; import .*;import .*;import .*;public class StudentSituation extends JPanel implements ActionListener Hashtable 基本信息表 =null;JTextField 學號 , 姓名 , 所學專業(yè) , 家庭住址 , 出生 ; JR
16、adioButton 男 , 女 ;Student 學生 =null;ButtonGroup group=null;JButton 錄入 , 重置 ;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;File file=null;public StudentSituation(File file)=file;學號 =new JTextField(10);姓名 =new JTextField(10);所學專業(yè) =ne
17、w JTextField(10);家庭住址 =new JTextField(10); 出生 =new JTextField(10);group=new ButtonGroup();男 =new JRadioButton(" 男 ",true);女 =new JRadioButton(" 女 ",false);( 男 );( 女 );錄入 =new JButton(" 錄入 ");重置 =new JButton(" 重置 ");錄入 .addActionListener(this);重置 .addActionList
18、ener(this);Box box1=();(new JLabel(" 學號 :",);( 學號 );Box box2=();(new JLabel(" 姓名 :",);( 姓名 );Box box3"=(new JLabe-(=wHnIJ_)八(手(HhBox box4")八(new JLabe-(=<4w_-)(Kfe-)Box box5")八(new JLabe-(=>鬧審卑_-)(WM審卑)Box box6")八(new JLabe-(= 圧并_-)八(圧舟)-Box boxH")八
19、(boxD(box2=(box3)八(box4)八(box5)八(box6)八()-Jpane- pcenCDrunew Jpane-0八(boxH)八se 產 ayousew BorderLayouo)八add(pcenCDTJpane- psoufhunew Jpane-0八(知>)八(Hw)八add(psoufhva=daCD()八 pub=c void acnonperformed(AcnonEvenf e) 宀if(HH »)宀Siring numberuJnumber"<4.geHexo=h()vo)宀fry宀inoneunew F=e-npufs=
20、ream(fi-e)八 inTwounew objecHnpufs=ream(inone)八 mMaw>"HashfabCDpString warning=" (this,warning,elseString m=" intok=(this,m,"確認 ",;if(ok=String name= String discipling= String grade= String borth= String sex=null;if( sex=else sex=基本信息將被錄入 !"姓名 .getText();所學專業(yè) .getText
21、() 家庭住址 .getText(); 出生 .getText();男 .isSelected()男 .getText();女 .getText();(); ();catch(Exception ee)if( 基本信息表 .containsKey(number)該生基本信息已存在 , 請到修改頁面修改 !"Ak n .警告 ",;學生 =new Student();學生 .setNumber(number);學生 .setName(name);學生 .setDiscipling(discipling);學生 .setGrade(grade);學生 .setBorth(bor
22、th);學生 .setSex(sex);tryoutOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);基本信息表 .put(number, 學生 );( 基本信息表 );();();必須要輸入學號 !"Ak n .警告 ",;學號 .setText(null); 姓名 .setText(null); 所學專業(yè) .setText(null); 家庭住址 .setText(null); 出生 .setText(null);catch(Exception ee)elseString warni
23、ng="(this,warning," if()= 重置 )學號 .setText(null);姓名 .setText(null); 所學專業(yè) .setText(null); 家庭住址 .setText(null);出生 .setText(null);3. 查詢代碼* jimport .*;import .*;import .*;public class Inquest extends JDialog implements ActionListener Hashtable 基本信息表 =null;JTextField學號 , 姓名 , 所學專業(yè) , 家庭住址 , 出生 ;J
24、RadioButton 男 , 女 ;JButton 查詢 ;ButtonGroup group=null;FileInputStream inOne=null;ObjectInputStream inTwo=null;File file=null;pub=c-nquesf(JFrame fzl-e fi-e)宀 super(f=1<違®=fa-se)八Hfi-p<4"new JTexmie-duo)八 1<違"new JBU=on(=1<違=)八 <4addACHOnusCDneahis)八 1<違.addACHOnLisCD
25、neahis)八 辱役"new JTexmie-duo)八 辱役.sefTidiQrb-e(fa-se)八 淳<4"new JTexmie-duo)八 淳<4.semdifab-eua-se)八 WM審卑 Hi wMit .semdifab-eua-se)八 圧舟"new JTexmie-duo)八 圧并.sefTidiQrb-e(fa-se)八 迪"new J RadioBuffo n(=迪=fa-se= Hunew JRadioBUs:on(=H=fa-se= groupunew BuxonGroupo八 (手Box boxl"
26、)八 (new JLabe-(=(<違)Box box2")八 (new JLabe-(= (辱于Box box3")八 (new JLabe-(= (手(H=Box box4")八 (new JLabe-(= (Kfe-)-Box box5")八 (new JLabe-(= ()-Box box6")八 (new JLabe-(= (圧亦)-Box boxH")八(boxl)八(box2)八鴦 >煙(<違孚<4辱役_-)頁 _-)淳<4巨_-) WM審障_-) 圧寸=)-(box3)八(box4)八(b
27、ox5)八(box6)八(汪Jpane- pcenCDrunew Jpane-0八(boxH)八container conugefconCDnfpaneo 八(pcenCDr()-sef<sib-e(fa-se)八sesoundsu 002000060270)八 addwindowusCDnesew windowAdapCDro 宀 pub=c void windowcosingo/vindowEvenf e) 宀sef<sib-e(fa-se)八pub=c void acnonperformed(AcnonEvenf e)辱役.sefrexsuw 八淳<4.sefrexsM
28、-)八wMit .sefrexsM-)八圧舟.sefrexsuw 八=h(Hu<違 _(llu<4)宀Siring numberuJ number"<4.gefrexo=h()vo)宀fry宀inoneunew F=e-npufs=ream(fi-e)八 inTwounew objecHnpufs=ream(inone)八mMaw>"HashfabCDp()-()-caoh(Excep=*on ee)宀if(mMap®>oonQrinsKey(number)Student stu=(Student) 基本信息表 .get(number
29、); 姓名 .setText();所學專業(yè) .setText();家庭住址 .setText(); 出生 .setText();if().equals("男 ")男.setSelected(true);else女.setSelected(true);else該學號不存在 !"Ak n .警告 ",;必須要輸入學號 !"Ak n .警告 ",;String warning=" (this,warning," elseString warning=" (this,warning,"4. 修改代碼im
30、port .*; import .*;import .*;import .*;public class ModifySituation extends JPanel implements ActionListener Hashtable 基本信息表 =null;JTextField 學號 ,姓名 ,所學專業(yè) ,家庭住址 ,出生; JRadioButton 男 , 女;ButtonGroup group=null;JButton 開始修改 ,錄入修改 , 重置;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputSt
31、ream outOne=null; ObjectOutputStream outTwo=null; File file=null;public ModifySituation(File file) =file;學號 =new JTextField(10); 姓名 =new JTextField(10); 所學專業(yè) =new JTextField(10); 家庭住址 =new JTextField(10);出生 =new JTextField(10);group=new ButtonGroup();男 =new JRadioButton(" 男 ",true); 女 =new
32、 JRadioButton(" 女 ",false);( 男 );( 女 );開始修改 =new JButton(" 開始修改 "); 錄入修改 =new JButton(" 錄入修改 "); 錄入修改 .setEnabled(false);重置 =new JButton(" 重置 ");學號 .addActionListener(this);開始修改 .addActionListener(this); 錄入修改 .addActionListener(this);重置 .addActionListener(this
33、);Box box1=(); (new JLabel(" ( 學號 );( 開始修改 );Box box2=(); (new JLabel("( ( 姓名 );Box box3=(); (new JLabel("( ( 男 );( 女 );Box box4=(); (new JLabel("( ( 所學專業(yè) );Box box5=(); (new JLabel("( ( 家庭住址 );Box box6=(); (new JLabel("( ( 出生 );輸入要修改信息的學號 :",);新) 姓名 :",);新) 性
34、別 :",);新) 所學專業(yè) :",);新) 家庭住址 :",);新) 出生 :",);Box boxH=();(box1);(box2);(box3);(box4);(box5);(box6);();JPanel pCenter=new JPanel();(boxH);setLayout(new BorderLayout();add(pCenter,;JPanel pSouth=new JPanel();( 錄入修改 );( 重置 );add(pSouth,;validate();public void actionPerformed(ActionEv
35、ent e)if()= 開始修改 |()= 學號 )String number=""number=學號 .getText();if()>0)try inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne); 基本信息表 =(Hashtable)();();();catch(Exception ee)if( 基本信息表 .containsKey(number)錄入修改 .setEnabled(true);Student stu=(Student) 基本信息表 .get(number); 姓名 .
36、setText(); 所學專業(yè) .setText(); 家庭住址 .setText();圧舟.sefrexfox=h().equa_s(= 迪=) 宀迪.sefse-ecCDd(=rue=e-se宀H.sefse-ecCDd(=rue=e-se宀知 >克齊.sefTinab-ed(fa-se)八Siring warning"- 或<4m (fhisywarning=Itnfr=八<4seHexsu=)八辱役.seHexsu=)八淳<4.sefre>$(nu=)八 wMit .sefre>$(nu=)八 圧舟.seHexsu=)八e-se宀知 >
37、;克涔.sefTinab-ed(fa-se)八ss.ng warning"- 兵倉鴦 ><4=八(fhisywarning=1|帶=八<4sefrexsu=)八 辱役.sefrexsuw 八淳<4.seHexsu-)八wMpit .seHexsu-)八圧舟.sefrexsu-)八e-se if(HH 知 >w)宀Siring numberuJnumber"<4.geHexo=h(vo)宀fry宀inoneunew Fi-e-npufs=ream(f=e)八 inTwounew objeci-npuis=ream(moner基本信息表 =(
38、Hashtable)();();();catch(Exception ee) if( 基本信息表 .containsKey(number), 您想修改他 ( 她 ) 的基本信息嗎 ?"String question=" 該生基本信息已存在(this,question,"警告 ",;String m=" 基本信息將被修改 !" int ok=(this,m," 確認 ",; if(ok=姓名 .getText();所學專業(yè) .getText(); 家庭住址 .getText(); 出生 .getText();Stri
39、ng name=String discipling=String grade= String borth= String sex=null;if( 男 .isSelected()sex= 男 .getText();elsesex= 女 .getText();Student學生 =new Student();學生 .setNumber(number); 學生 .setName(name); 學生 .setDiscipling(discipling); 學生 .setGrade(grade);學生 .setBorth(borth); 學生 .setSex(sex);tryoutOne=new Fi
40、leOutputStream(file);outTwo=new ObjectOutputStream(outOne); 基本信息表 .put(number, 學生 );( 基本信息表 );();();學號 .setText(null);姓名 .setText(null); 所學專業(yè) .setText(null); 家庭住址 .setText(null); 出生 .setText(null);catch(Exception ee)錄入修改 .setEnabled(false); else if(ok=錄入修改 .setEnabled(true);elseString warning="
41、 該學號沒有基本信息 , 不能修改 !"(this,warning,"aP. n .警告 ",;錄入修改 .setEnabled(false); elseString warning="(this,warning,"必須要輸入學號 !"Ak n .警告 ",;錄入修改 .setEnabled(false);if()= 重置 )學號 .setText(null);姓名 .setText(null);所學專業(yè) .setText(null);家庭住址 .setText(null);出生 .setText(null);5. 刪除代碼
42、import .*; import .*; import .*;import .*;public class Delete extends JPanel implements ActionListener Hashtable 基本信息表 =null;JTextField 學號 , 姓名 , 所學專業(yè) , 家庭住址 , 出生 ; JRadioButton 男 , 女 ;JButton 刪除 ;ButtonGroup group=null;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=
43、null;ObjectOutputStream outTwo=null;File file=null;public Delete(File file)=file;學號 =new JTextField(10);刪除 =new JButton(" 刪除 ");學號 .addActionListener(this);刪除 .addActionListener(this);姓名 =new JTextField(10);姓名 .setEditable(false); 所學專業(yè) =new JTextField(10);所學專業(yè) .setEditable(false);家庭住址 =new
44、 JTextField(10);家庭住址 .setEditable(false);出生 =new JTextField(10);出生 .setEditable(false);男 =new JRadioButton(" 男 ",false);女 =new JRadioButton(" 女 ",false);group=new ButtonGroup();( 男 );( 女 );Box box1=();(new JLabel(" 輸入要刪除的學號 :",);( 學號 );( 刪除 );Box box2=();(new JLabel(&qu
45、ot; 姓名 :",);( 姓名 );Box box3=();(new JLabel(" 性別 :",);( 男 );( 女 );Box box4")八(new JLabe-(=<4w_-)(Kfe-)-Box box5")八(new JLabe-(=wMit_-)(WM審卑)-Box box6")八(new JLabe-(= 圧卄_-)八(圧舟)-Box boxH")八(boxD(box2=(box3)八(box4)八(box5)八(box6)八()-Jpane- pcenCDrunew Jpane-0八(boxH)八se 產 ayousew BorderLayouo)八add(pcenCDTva=daCD()八pub=c void acnonperformed(AcnonEvenf e)宀=h(Hu IB_(IIU<4)宀Siring nu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版股份質押回購交易合同3篇
- 二零二四二手鋼鐵材料購買與運輸合同3篇
- 二零二五版打印機銷售渠道資源整合與共享合同3篇
- 年度聚碳酸酯(PC)及合金市場分析及競爭策略分析報告
- 二零二四年工業(yè)自動化設備安裝與生產流程優(yōu)化合同3篇
- 2024-2025學年新教材高中數學第十章復數10.2.2第1課時復數的乘法教師用書教案新人教B版必修第四冊
- 二零二五年文秘與檔案管理勞動合同2篇
- 二零二五年度網絡安全風險評估與防護合同3篇
- 2025年星酒店投資技術服務與酒店客房智能化改造合同3篇
- 二零二五年度特色餐飲店承包經營權轉讓合同3篇
- 2025-2030年中國MPV汽車市場全景調研及投資策略分析報告
- 二零二五年度數據存儲與備份外包服務協議2篇
- 家政服務與社區(qū)合作方案
- 2024年深圳市龍崗區(qū)城市建設投資集團有限公司招聘筆試真題
- 2024-2025學年北京市朝陽區(qū)高三上學期期末考試數學試卷(含答案)
- 第五單元《習作例文:風向袋的制作》說課稿-2024-2025學年五年級上冊語文統(tǒng)編版
- 四年級數學(除數是兩位數)計算題專項練習及答案
- 四川省綿陽市涪城區(qū)2024-2025學年九年級上學期1月期末歷史試卷(含答案)
- 2025年山東水發(fā)集團限公司社會招聘高頻重點提升(共500題)附帶答案詳解
- JJG 1204-2025電子計價秤檢定規(guī)程(試行)
- 2024年計算機二級WPS考試題庫(共380題含答案)
評論
0/150
提交評論