JAVA程序設(shè)計大作業(yè)要求_第1頁
JAVA程序設(shè)計大作業(yè)要求_第2頁
JAVA程序設(shè)計大作業(yè)要求_第3頁
JAVA程序設(shè)計大作業(yè)要求_第4頁
JAVA程序設(shè)計大作業(yè)要求_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

java學(xué)生成績管理系統(tǒng)課程設(shè)計報告

《Java語言》課程期末作業(yè)

學(xué)院生物工程學(xué)院

專業(yè)生物醫(yī)學(xué)工程

班別13級(1)班

學(xué)號DZ201410

姓名巴阿西

2015年7月3日

一、課程題目

開發(fā)一個小型學(xué)生成績管理系統(tǒng),功能如下:

1、系統(tǒng)需輸入用戶名及密碼方可登錄。用戶分為兩種:

管理員:系統(tǒng)內(nèi)置,用戶名為自己的姓名,密碼為學(xué)號。如,用戶名:張三;密

碼:20140001。管理員可創(chuàng)建/刪除普通用戶,可修改普通用戶密碼,可將普通

用戶升級為管理員,或者將己升級為管理員的普通用戶降級回原普通用戶。管理

員擁有系統(tǒng)的所用權(quán)限。

普通用戶:只擁有查詢權(quán)限。如輔導(dǎo)員,可查詢所有學(xué)生的成績但無法修改,若

需修改只能由教務(wù)處(管理員)進(jìn)行操作。

2、系統(tǒng)主要內(nèi)容:

~5?i~大學(xué)語文~—大學(xué)美語~―復(fù)變函數(shù)■—電路原理—模擬電路~數(shù)字電珞—通信原珥

每一個項目都間隔一個Tab(提示:Java中是“\t”),上圖中的黃色箭頭表示

Tab

3、數(shù)據(jù)批量導(dǎo)入:

以txt格式存儲數(shù)據(jù),包含兩個文件:

(1)導(dǎo)入學(xué)生信息

踞mJ

第一個文件中包含學(xué)生的姓名、學(xué)號及性別

(2)導(dǎo)入成績信息

學(xué)號大學(xué)語文高等數(shù)學(xué)大學(xué)英語Java線性代數(shù)復(fù)變函數(shù)電路原理模擬電路數(shù)字電路通信原理

第二個文件中包含學(xué)生的學(xué)號以及各學(xué)號對應(yīng)的十個科目的成績。

若導(dǎo)入的信息已被包含在系統(tǒng)中時,以當(dāng)前導(dǎo)入信息為準(zhǔn)。如系統(tǒng)已存儲

20140001的大學(xué)英語成績?yōu)?4,現(xiàn)導(dǎo)入文件中其大學(xué)英語為87,那么201140001

的最終成績是87。

當(dāng)文件格式出錯時,給出提示信息。

提示:以上文件會隨后共享到群里,包括有格式錯誤的文件

4、成績導(dǎo)出:

成績導(dǎo)出存為txt格式,在文件中的顯示格式與系統(tǒng)內(nèi)容一致,包括以下內(nèi)容:

現(xiàn)O大學(xué)語文高等數(shù)學(xué)大學(xué)美is線性代數(shù)比變函數(shù)電路原理模擬電路數(shù)字電路通值原理-

張三20140001男7586B490839S81927997

5、其他功能:

(1)排序功能,可將任意指定科目或所有科目成績按從高到低順序排列并

2

呈現(xiàn)出來,可打印到屏幕上或者寫成文件形式。

(2)查看任意指定科目的最高分或最低分

(3)查看任意指定科目的平均成績

(4)實現(xiàn)成績分級,有如下5個等級:

優(yōu)秀(90-100)良好(80-89)中等(70-79)

及格(60-69)不及格(0-59)

(5)查看某一學(xué)生的所有成績,可以憑借學(xué)號或者姓名進(jìn)行查詢。

(6)刪除或添加學(xué)生

(7)成績錄入功能:錄入某一學(xué)生的某科成績或者所有成績

(8)修改某個學(xué)生某一科的成績。

其中:普通用戶可執(zhí)行(1)-(5)功能;管理員可執(zhí)行所有功能

二設(shè)計目的

1、設(shè)計目的:

鞏固和加深學(xué)生對高級語言程序設(shè)計課程的基本知識的理解和掌握,掌握

java語言編程和程序調(diào)試的基本技能,利用java語言進(jìn)行基本的軟件設(shè)計,提

高運用java語言解決實際問題的能力。

1、系統(tǒng)需輸入用戶名及密碼方可登錄。用戶分為兩種:

管理員:系統(tǒng)內(nèi)置,用戶名為自己的姓名,密碼為學(xué)號。如,用戶名:張三;密

碼:20140001。管理員可創(chuàng)建/刪除普通用戶,可修改普通用戶密碼,可將普通

用戶升級為管理員,或者將己升級為管理員的普通用戶降級回原普通用戶。管理

員擁有系統(tǒng)的所用權(quán)限。

三系統(tǒng)總體設(shè)計

成功登陸系統(tǒng)以后,出現(xiàn)成績管理界面,系統(tǒng)初始化,可對學(xué)生成績進(jìn)行增

加、刪除、查詢、修改、統(tǒng)計,進(jìn)入相應(yīng)界面進(jìn)行成績管理,退出系統(tǒng)自動保存

本次操作內(nèi)容,保存信息。

簡易流程圖:

3

登陸

1、實驗步驟

(1)首先確定學(xué)生管理系統(tǒng)的用戶。

(2)學(xué)生管理系統(tǒng)的用戶基本分為兩類,分別是管理員和普通用戶。不管

是哪種用戶都是必須經(jīng)過登錄才能進(jìn)入學(xué)生管理系統(tǒng)的,所以該系統(tǒng)

必須有一個登錄界面,并且在該界面中能夠讓用戶選擇用戶是老師還

是學(xué)生。該系統(tǒng)是不會對外開放的,所以也不存在注冊界面。

(3)因為用戶分為兩種,所以每一種用戶進(jìn)行操作的界面應(yīng)該是不同的。

首先是普通用戶界面,在其中應(yīng)該只有查詢成績。主要來學(xué)習(xí)如何進(jìn)

行普通用戶界面開發(fā)。

(4)除了普通用戶界面外,還要有一個管理員界面。管理員在管理員界面

中可以對學(xué)生信息進(jìn)行管理,包括查詢、修改和刪除。同樣也可以對

學(xué)生的成績進(jìn)行管理,包括查詢和插入,由于輸入錯誤還要能夠?qū)W(xué)

生的成績進(jìn)行修改,由于學(xué)生作弊還能夠?qū)W(xué)生的成績進(jìn)行刪除。

(5)不管是老師和學(xué)生進(jìn)入學(xué)生管理系統(tǒng)都是從登錄界面進(jìn)入的。在登錄

界面中應(yīng)該是讓用戶選擇自己身份的,然后系統(tǒng)將根據(jù)用戶的選擇來

判斷用戶的身份并進(jìn)行查詢不同的數(shù)據(jù)庫。

(6)對界面設(shè)計好基本形式后,就可以進(jìn)行程序開發(fā)。首先要定義兩個標(biāo)

簽和兩個文本框,分別來表示用戶名和密碼。并且還需要定義一個下

拉列表讓用戶來進(jìn)行身份選擇,其中選項包括“學(xué)生”和“老師”。

在程序的最后還定義了兩個按鈕,從而讓用戶輸入用戶名和密碼后進(jìn)

行登錄。

四設(shè)計感想

這次實驗一開始摸不著頭腦,不知道從哪里入手。沒辦法只好硬著頭皮做下去。

開始是去圖書館查找資料,找到了一些以前關(guān)于界面設(shè)計的代碼模版,自己就先

4

拿那些模版進(jìn)行一些練習(xí),熟能生巧,應(yīng)用一些代碼對自己的實驗要求進(jìn)行合理

的設(shè)計。而且布置任務(wù)的時間太晚了,最近有很多考試,導(dǎo)致我的作業(yè)只能延遲

上交。學(xué)生真的不是故意的,唉,感覺考試發(fā)揮的不是很好,希望老師手下留情,

及格就好。謝謝老師!

1,首先在類Studentms創(chuàng)建一個新的窗體添加學(xué)生登錄和教師登錄兩個按鈕,如圖1

圖1主登陸界面

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

classWyFrameextendsFrameimplementsActionListener

1

Label11,12;

TextFieldtl,t2;

Buttonbl,b2;

publicstaticintk;

publicWyFrame()

(

super(〃登錄〃);

setBackground(Color.lightGray);

setLayout(null);

setSize(240,160);

5

this.setLocationRelativeTo(null);

ll=newLabel(〃教師學(xué)生〃,Label.CENTER);

12二newLabel(〃通行密碼〃,Label.CENTER);

tl=newTextFieldO;

t2=newTextFieldO;

bl=newButton(〃確定〃);

b2=newButton(〃取消“);

11.setBounds(40,45,40,30);

12.setBounds(40,80,40,30);

tl.setBounds(90,45,100,25);

t2.setBounds(90,80,100,25);

bl.setBounds(50,115,60,30);

b2.setBounds(125,115,60,30);

bl.addActionListener(this);

b2.addActionListener(this);

add(11);add(12);add(tl);add(t2);add(bl);add(b2);

this.addWindowListener(newWindowAdapter(){

publicvoidwindowClosing(WindowEvente){dispose();

System,exit(0);

)

});

setVisible(true);

}

publicvoidactionPerformed(ActionEvente)

6

if(e.getSource()==bl)

k=l;

if(e.getSource()==b2)

k=2;

repaint();

if(k==l)

(

if(tl.getText().toStringO.trim().equals(,zDZ2-

1410〃)){

MyMenuhyf=newMyMenu();

this.setVisible(false);

)

else

(

if(t1.getText().toStringO.trim().equa

lsCDZ201410,z))

(

JOptionPane.showMessageDialog(t

his,〃密碼與用戶名不匹配!〃);

)

else

JOptionPane.showMessageDialog(t

his,〃用戶名錯誤!〃);

)

7

if(k==2)

dispose();

System,exit(0);

)

publicclassLogin

(

publicstaticvoidmain(Stringargs[])

(

WyFramehyf=newWyFrame0;

)

)

|s|登陸I°Ju

當(dāng)賬號輸入為空時檢錯

8

圖3輸入賬號為空的時候

當(dāng)以學(xué)生的身份登錄成功時,在以上述同樣的方法生成一個有查詢、退出的窗口如圖

海Student已Si?]登陸國亙匡

:查詢」

返回|

退出|

圖4學(xué)生成功登錄之后

(7)管理員界面

importjava.awt.

importjavax.swing.*;

importjava.awt.event.

publicclassTeachersextendsJFrameimplementsActionListener

(

JMenuBarbar=newJMenuBar();

JMenumenul=newJMenu(〃信息〃);

JMenumenu2=newJMenu(〃成績〃);

JMenuItemiteml=newJMenuItem(〃錄入信息〃);

JMenuItemitem2=newJMenuItem(〃錄入成績〃);

JPaneljpl=newJPanel();

publicTeachers()

(

super(〃管理員界面〃);

this.setSize(500,300);

this.setResizable(false);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setJMenuBar(bar);

9

this.add(jpl);

jpl.setLayout(null);

bar.add(menul);

bar.add(menu2);

menul.add(iteml);

menu2.add(item2);

iteml.addActionListener(this);

item2.addActionListener(this);

}

publicvoidactionPerformed(ActionEvente)

(

if(e.getSource()==iteml)

(

AddMsgmsg=newAddMsg0;

)

else

{

Addscoreas=newAddscore();

)

)

publicstaticvoidmain(String[]args)

{

Teacherstch=newTeachers();

普通用戶:只擁有查詢權(quán)限。如輔導(dǎo)員,可查詢所有學(xué)生的成績但無法修改,若

需修改只能由教務(wù)處(管理員)進(jìn)行操作。

(8)普通用戶界面

importjava.awt.

importjavax.swing.*;

importjava.awt.event.

publicclassStudentsextendsJFrameimplementsActionListener

(

JMenuBarjmb=newJMenuBar();

JMenuMessage=newJMenu(〃信息〃);

JMenuScore=newJMenu(〃成績〃);

JMenuItemIteml=newJMenuItem(〃插入〃);

io

JMenuItemItem2=newJMenuItem(〃查詢〃);

JMenuItemItem3=newJMenuItem(〃查詢〃);

publicStudents()

{

super(〃界面〃);

this.setSize(500,400);

this.setVisible(true);

this.setResizable(false);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setJMenuBar(jmb);

jmb.add(Message);

jmb.add(Score);

Message.add(Iteml);

Message.add(Item2);

Score,add(Item3);

Iteml.addActionListener(this);

Item2.addActionListener(this);

Item3.addActionListener(this);

)

publicvoidactionPerformed(ActionEvente)

(

if(e.getSource()==Iteml)

(

AddMsgad=newAddMsgO;

)

elseif(e.getSource()==Item2)

(

Serchser=newSerchO;

)

else

(

Scoreso=newScore();

)

)

publicstaticvoidmain(String[]args)

(

Studentsstu=newStudents();

}

11

2、系統(tǒng)主要內(nèi)容:

is~~Oi—大學(xué)語文~高等數(shù)學(xué)~大學(xué)英語~~線性代數(shù)~復(fù)變函數(shù)~電路原理~Wms~數(shù)字電路~通信原理

每一個項目都間隔一個Tab(提示:Java中是“\t"),上圖中的黃色箭頭表示

Tab

importjava.io.Serializable;

publicclassStudentimplementsSerializable{

privateStringname;

privateintnum;

privateintsex;

privateintdaxueyuwen;

privateintgaodengshuxue;

privateintdaxueyingyu;

privateintjava;

privateintxianxingdaishu

privateintfubianhanshu;

privateintdianluyuanli;

privateintmonidianlu;

privateintshuzidianlu;

privateinttongxinyuanli;

privateintsum=0;

publicStudent(){

publicStudent(Stringname,intnum,intsex,intdaxueyuwen,int

gaodengshuxue,

intdaxueyingyu,intjava,intxianxingdaishu,int

fubianhanshu,intdianluyuanli,

intmonidianlu,intshuzidianlu,inttongxinyuanli)

(

super();

=name;

this,num=num;

this.sex=sex;

this,daxueyuwen=daxueyuwen;

this.gaodengshuxue=gaodengshuxue;

this.daxueyingyu=daxueyingyu;

this,java=java;

this.xianxingdaishu=xianxingdaishu;

this,dian1uyuan1i=dian1uyuan1i;

this.monidianlu=monidianlu;

this.shuzidianlu=shuzidianlu;

this.tongxinyuan1i=tongxinyuan1i;

12

publicStringgetName(){

returnname;

)

publicvoidsetName(Stringname){

this.name=name;

)

publicintgetNumO{

returnnum;

}

publicvoidsetNum(intnum){

this.num=num;

)

publicintgetsexO{

returnsex;

)

publicvoidsetsex(intsex){

this.sex=sex;

)

publicintgetdaxeuyuwen(){

returndaxueyuwen;

}

publicvoidsetdaxueyuwen(intdaxueyuwen){

this,daxueyuwen=daxueyuwen;

)

publicintgetgaodengshuxueO{

returngaodengshuxue;

)

publicvoidsetgaodengshuxue(intgaodengshuxue){

this,gaodengshuxue=gaodengshuxue;

)

publicintgetdaxueyingyuO{

returndaxueyingyu;

)

publicvoidsetdaxueyingyu(intdaxueyingyu){

this,daxueyingyu=daxueyingyu;

)

publicintgetJava(){

returnjava;

)

publicvoidsetJava(intjava){

this,java=java;

publicintgetxianxingdaishuO{

returnxianxingdaishu;

13

publicvoidsetxianxingdaishu(intxianxingdaishu){

this,xianxingdaishu=xianxingdaishu;

)

publicintgetfubianhanshu(){

returnfubianhanshu;

)

publicvoidsetfubianhanshu(intfubianhanshu){

this,fubianhanshu=fubianhanshu;

)

publicintgetdianluyuanli0{

returndianluyuanli;

)

publicvoidsetdianluyuanli(intdianluyuanli){

this,dianluyuanli=dianluyuanli;

)

publicintgetmonidianluO{

returnmonidianlu;

)

publicvoidsetmonidianlu(intmonidianlu){

this,monidianlu=monidianlu;}

publicintgetshuzidianluO{

returnshuzidianlu;

)

publicvoidsetshuzidianlu(intshuzidianlu){

this.shuzidianlu=shuzidianlu;

)

publicintgettongxinyuanli(){

returntongxinyuanli;

)

publicvoidsettongxinyuanli(inttongxinyuanli){

this,tongxinyuanli=tongxinyuanli;

)

publicintgetSumO{

returnsum;

}

publicvoidsetSum(intsum){

this,sum=sum;

)

publicStringtoString(){

return〃姓名\t〃+name+〃性別\t〃+sex+〃學(xué)號\t〃+num+〃大

學(xué)語文\t〃+daxueyuwen

+〃高等數(shù)學(xué)\t〃+gaodengshuxue+〃大學(xué)英語\t〃

14

+daxueyingyu+〃Java\l〃+java

+〃線性代數(shù)\'1〃+*1@1^11^(^151111+〃復(fù)變函數(shù)

\t〃+fubianhanshu+〃電路原理\t〃+dianluyuanli+

〃模擬電路\<+1110111€11,@11111+〃數(shù)字電路\1:〃+5111121(11.@11111+〃

通信原理\t〃+tongxinyuanli;

3、數(shù)據(jù)批量導(dǎo)入:

以txt格式存儲數(shù)據(jù),包含兩個文件:

(1)導(dǎo)入學(xué)生信息

W

第一個文件中包含學(xué)生的姓名、學(xué)號及性別

(2)導(dǎo)入成績信息

學(xué)號大學(xué)語文高等數(shù)學(xué)大學(xué)英語Java線性代數(shù)復(fù)變函數(shù)電路厚理模投電路數(shù)字電路通信原理

第二個文件中包含學(xué)生的學(xué)號以及各學(xué)號對應(yīng)的十個科目的成績。

若導(dǎo)入的信息已被包含在系統(tǒng)中時,以當(dāng)前導(dǎo)入信息為準(zhǔn)。如系統(tǒng)已存儲

20140001的大學(xué)英語成績?yōu)?4,現(xiàn)導(dǎo)入文件中其大學(xué)英語為87,那么201140001

的最終成績是87。

當(dāng)文件格式出錯時,給出提示信息。

提示:以上文件會隨后共享到群里,包括有格式錯誤的文件

4、成績導(dǎo)出:

成績導(dǎo)出存為txt格式,在文件中的顯示格式與系統(tǒng)內(nèi)容一致,包括以下內(nèi)容:

O]大學(xué)語文離等數(shù)學(xué)大學(xué)英語線性代數(shù)復(fù)變函數(shù)電路夙理模擬電路數(shù)字電路通信原理―

張三20140001男758B8490839881927997

5、其他功能:

(9)排序功能,可將任意指定科目或所有科目成績按從高到低順序排列并

呈現(xiàn)出來,可打印到屏幕上或者寫成文件形式。

importjava.io.BufferedReader;

importjava.io.BufferedWriter;

importjava.io.File;

importjava.io.FileNotFoundException;

importjava.io.FileReader;

importjava.io.FileWriter;

15

importjava.io.lOException;

importjava.io.InputStreamReader;

importjava.io.PrintWriter;

importjava.io.StringReader;

importjava.util.ArrayList;

importjava.util.Collection;

importjava.util.Collections;

importjava.util.HashMap;

importjava.util.Iterator;

importjava.util.StringTokenizer;

/**

*學(xué)生成績管理系統(tǒng)

*通過學(xué)號查找,修改刪除數(shù)據(jù),排序

*/

publicclassLittleProgram

[

staticbooleanisDelete=true;

staticbooleanisFind=true;

publicstaticvoidmain(String[]args)〃主方法,程序從這里開始

運行

throwslOException,NumberNotFoundException

(

intchoice=-l;

do{

LittleProgramIp=newLittleProgram();

System,out.printlnO;

System.out.println(〃\l〃);

System,out.printlnO;

System.out.printin(〃\t\tJava學(xué)生成績管理系統(tǒng)1.1〃);

System,out.printin(〃\t\t請用學(xué)號查找,修改,刪除數(shù)據(jù)〃);

16

System,out.printlnO;

System,out.printin(〃\t\n〃);

System,out.print(〃1.增加數(shù)據(jù):\n"+

〃2.查找數(shù)據(jù):\n〃+

〃3.刪除數(shù)據(jù):\n〃+

〃4?清除所有數(shù)據(jù):\n〃+

〃5.把數(shù)據(jù)全部打印到屏幕\n〃+

〃6.把成績按學(xué)號排序\n〃+

〃7.修改數(shù)據(jù)\n〃+

〃8.統(tǒng)計已記錄成績學(xué)生數(shù)\n〃+

〃9.關(guān)于作者\n〃+

〃0.退出程序.\n〃+

〃輸入:〃);

BufferedReaderin=//從終

newBufferedReader(〃端接

newInputStreamReader(System.in));〃收數(shù)

StringinputLine=in.readLineO;〃字選

choice=Integer.valueOf(inputLine).intValue();//項;

switch(choice)

(

case1:{〃L增加數(shù)據(jù)

Stringstr=Ip.inputDataO;

Ip.addData(str);

System.out.printin(〃增加數(shù)據(jù)成功.〃);

timeOut⑴;

}break;

case2:{〃2.查找數(shù)據(jù)

longfind=0;

System,out.print(〃請輸入你要查找的學(xué)生學(xué)號:〃);

BufferedReaderinn=

17

newBufferedReader(

newInputStreamReader(System,in));

StringinputLi=inn.readLineO;

find=Integer.valueOf(inputLi).longValueO;

Ip.findData(find);

timeOut(2);

}break;

case3:{〃3.刪除數(shù)據(jù)

longdeleteNumber=0;

System,out.print(〃請輸入你想刪除的同學(xué)的學(xué)號:〃);

BufferedReaderbf=

newBufferedReader(

newInputStreamReader(System,in));

StringinputL=bf.readLine();

deleteNumber=Integer.valueOf(inputL).longValue();

Ip.deleteData(deleteNumber);

if(isDelete)

System,out.printin(〃刪除數(shù)據(jù)成功!〃);

timeOut⑴;

}break;

case4:{

Ip.clearDataO;//4.清除所有數(shù)據(jù)

timeOut⑴;

}break;

case5:{

print();//5.把數(shù)據(jù)全部打印到屏幕

timeOut(2);

}break;

case6:{

18

Ip.numSort();//6.把成績按學(xué)號排序

System,out.printin(〃按照學(xué)號從小到大排序成功!\n"+

〃排序后:\n〃);

print();

timeOut⑵;

}break;

case7:{

Ip.rewrite();〃7.修改數(shù)據(jù)

timeOut(2);

}break;

case8:{

intcount二Ip.count();

System.out.printin(〃共有〃+count+〃個學(xué)生已經(jīng)記錄.〃);

timeOut(2);

}break;

case9:{

(10)查看任意指定科目的最高分或最低分

(11)查看任意指定科目的平均成績

(12)實現(xiàn)成績分級,有如下5個等級:

優(yōu)秀(90-100)良好(80-89)中等(70-79)

及格(60-69)不及格(0-59)

switch(i){

case100:

case90:

System.out.printIn(〃分?jǐn)?shù)是〃+i+〃等級為〃);

break;

case80:

System.out.printin(〃分?jǐn)?shù)是〃+i+〃等級為B〃);

break;

19

case70:

System.out.printin(〃分?jǐn)?shù)是〃+i+〃等級為C〃);

case60:System.out.printIn(〃分?jǐn)?shù)是〃+i+〃等級為D〃);

default:

if(i>=0&&i<=10){

System,out.printin(〃分?jǐn)?shù)是“+i+〃等級為E〃);

}else{

System,out.printin(〃輸入的數(shù)不是有效分?jǐn)?shù)〃);

}break;

)

(13)查看某一學(xué)生的所有成績,可以憑借學(xué)號或者姓名進(jìn)行查詢。

importjava.awt.

importjavax.swing.*;

importjava.awt.event.

importjava.awt.font.

importjava.sql.

publicclassScoreextendsJFrameimplementsActionListener

staticScores;

JLabeltitle=newJLabel(〃查詢成績〃,JLabeLCENTER);

Fontf=newFont(〃楷體〃,F(xiàn)ont.BOLD+Font.ITALIC,16);

JPaneljpl=newJPanel();

JLabellabel1=newJLabel(〃請輸入學(xué)號:z,,JLabel.CENTER);

JTextFieldnum=newJTextFieldO;

JButtonserchnewJButton(〃查詢成績〃);

JButtonreset=newJButton(〃重置〃);

JLabellabel2=newJLabel(〃大學(xué)語文:〃,JLabel.LEFT);

JLabellabel3=newJLabel(〃高等數(shù)學(xué):〃,JLabel.LEFT);

JLabellabel4=newJLabel(〃大學(xué)英語:〃,JLabel.LEFT);

JLabellabel5=newJLabel("Java:〃,JLabel.LEFT);

JLabellabel6=newJLabel(〃線性代數(shù)〃,JLabel.LEFT);

JLabellabel?=newJLabel(〃復(fù)變函數(shù)〃,JLabel.LEFT);

JLabellabel8=newJLabel(〃電路原理〃,JLabel.LEFT);

JLabellabel9=newJLabel(〃模擬電路〃,JLabel.LEFT);

JLabellabellO=newJLabel(〃模擬電路:,z,JLabel.LEFT);

JLabellabel11=newJLabel(〃數(shù)字電路:,z,JLabel.LEFT);

20

JLabellabel12=newJLabel(〃通信原理:JJLabeLLEFT);

JTextField[]txt={newJTextField(),newJTextFieldO,new

JTextFieldO,newJTextFieldO,newJTextFieldO,new

JTextFieldO,newJTextFieldO,newJTextFieldO,new

JTextFieldO,newJTextFieldO,newJTextFieldO};

staticintp=140;

publicScore()

{

super(〃查詢分?jǐn)?shù)〃);

this.setResizable(false);

this.setSize(500,550);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

title.setFont(f);

this,add(jpl);

jpl.setLayout(null);

title.setBounds(100,20,300,20);

jpl.add(title);

labell.setBounds(100,60,90,20);

jpl.add(labell);

num.setBounds(210,60,140,20);

jpl.add(num);

serch.setBounds(130,100,90,20);

reset.setBounds(240,100,90,20);

jpl.add(serch);

jpl.add(reset);

serch.addActionListener(this);

reset.addActionListener(this);

label2.setBounds(100,140,140,20);

label3.setBounds(100,180,140,20);

label4.setBounds(100,220,140,20);

label5.setBounds(100,260,140,20);

label6.setBounds(100,300,140,20);

label?.setBounds(100,340,140,20);

label8.setBounds(100,380,140,20);

label9.setBounds(100,420,140,20);

labellO.setBounds(100,460,140,20);

labelll.setBounds(100,500,140,20);

labell2.setBounds(100,540,140,20);

jpl.add(label2);

jpl.add(label3);

jpl.add(label4);

jpl.add(label5);

21

jpl.add(label6);

jpl.add(label7);

jpl.add(label8);

jpl.add(label9);

jpl.add(label10);

jpl.add(label11);

jpl.add(label12);

for(inti=0;i<txt.length;i++)

(

txt[i].setBounds(260,p,140,20);

jpl.add(txt[i]);

p=p+40;

)

)

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==serch)

(

Stringid=num.getText();

try

(

Class.forName(z,sun.jdbc.odbc.JdbcOdbcDriverz,);

}

catch(ClassNotFoundExceptionce)

(

JOptionPane.showMessageDialog(s,ce.getMessage0);

}

try

(

Connectioncon

DriverManager.getCormection(〃jdbc:odbc:sysdb〃,〃sa〃,〃〃);

Statementstmt=con.createStatement();

while(rs.next())

(

for(inti=0;i<txt.length;i++)

(

txt[i].setText(rs.getString(i+2));

)

catch(SQLExceptionse)

22

JOptionPane.showMessageDialog(s,se.getMessageO);

)

}

else

(

for(inti=0;i<txt.length;i++)

(

txt[i].setText(,,zz);

)

num.setText(〃〃);

)

)

publicstaticvoidmain(String[]args)

(

Scores=newScore();

查詢學(xué)生信息

importjava.awt.

importjavax.swing.*;

importjava.awt.event.

importjava.sql.

publicclassSerchextendsJFrameimplementsActionListener

(

/*查詢學(xué)生信息控件*/

staticSerchs;

JPaneljpl=newJPanel();

JLabelSCH=newJLabel(〃查詢學(xué)生信息〃,JLabel.CENTER);

JLabellabel1=newJLabel(〃請輸入學(xué)號:",JLabel.CENTER);

JButtonserch=newJButton(〃查詢〃);

JLabellabel2=newJLabel(〃姓名:",JLabel.CENTER);

JLabellabel5=newJLabel(〃性別:,z,JLabel.CENTER);

ButtonGroupbgp=newButtonGroupO;

JRadioButtonman=newJRadioButton(〃男〃);

JRadioButtonwomen=newJRadioButton(〃女〃);

JTextFieldnum=newJTextFieldO;

JTextFieldnam=newJTextFieldO;

JButtonreset=newJButton(〃重置〃);

23

publicSerch()

(

this.setSize(500,400);

this.setVisible(true);

this.setResizable(false);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this,add(jpl);

jpl.setLayout(null);

serch.addActionListener(this);

reset.addActionListener(this);

/*查詢面板*/

SCH.setBounds(100,20,300,20);

jpl.add(SCH);

labell.setBounds(100,60,100,20);

jpl.add(labell);

num.setBounds(220,60,140,20);

jpl.add(num);

serch.setBounds(120,100,90,20);

reset.setBounds(260,100,90,20);

jpl.add(serch);

jpl.add(reset);

label2.setBounds(100,140,70,20);

jpl.add(labe12);

nam.setBounds(190,140,140,20);

jpl.add(nam);

label5.setBounds(100,180,70,20);

jpl.add(label5);

man.setBounds(205,180,60,20);

women.setBounds(285,180,60,20);

bgp.add(man);

bgp.add(women);

jpl.add(man);

jpl.add(women);

label3.setBounds(100,220,70,20);

jpl.add(label3);

clas.setBounds(190,220,140,20);

jpl.add(clas);

label4.setBounds(100,260,70,20);

jpl.add(label4);

scl.setBounds(190,260,140,20);

jpl.add(scl);

24

publicvoidactionPerformed(ActionEvente)

{

Stringid=num.getText();

if(e.getSource()==serch)

(

try

(

Class.forName(z,sun.jdbc.odbc.JdbcOdbcDriverz,);

)

catch(ClassNotFoundExceptionce)

(

JOptionPane.showMessageDialog(s,ce.getMessageO);

)

try

(

Connectioncon=

DriverManager.getCormection(〃jdbc:odbc:sysdb〃,〃sa〃,〃〃);

Statementstmt=con.createStatement();

ResultSetrs=stmt.executeQuery("select*fromSTU

whereID='〃+id+〃'〃);

while(rs.next())

(

nam.setText(rs.getString(〃Name〃));

if(rs.getS

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論