版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度商鋪物業(yè)管理服務(wù)合同參考2篇
- 偵探柯南介紹
- 二零二五年度婚介公司婚姻法律援助合同3篇
- 山東省棗莊市市中區(qū)2024-2025學(xué)年八年級上學(xué)期期末生物試題(含答案)
- 二零二五年度單車租賃與保險合作合同2篇
- Unit 6 Exploring the Topic Grammar in Use說課稿 -2024-2025學(xué)年仁愛科普版七年級英語上冊
- 江蘇省蘇州市姑蘇區(qū)2024-2025學(xué)年七年級上學(xué)期期末質(zhì)量監(jiān)測歷史卷(含答案)
- 黑龍江牡丹江市(2024年-2025年小學(xué)六年級語文)統(tǒng)編版能力評測(下學(xué)期)試卷及答案
- 貴州盛華職業(yè)學(xué)院《影視動畫制作》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴州黔南經(jīng)濟(jì)學(xué)院《產(chǎn)品符號與語意》2023-2024學(xué)年第一學(xué)期期末試卷
- 【MOOC】思辨式英文寫作-南開大學(xué) 中國大學(xué)慕課MOOC答案
- 期末測試卷(試題)-2024-2025學(xué)年五年級上冊數(shù)學(xué)北師大版
- 2024年下半年中國石油大連石化分公司招聘30人易考易錯模擬試題(共500題)試卷后附參考答案
- 國有企業(yè)品牌建設(shè)策略方案
- 家政培訓(xùn)講師課件
- 廣東省深圳市龍華區(qū)2023-2024學(xué)年八年級下學(xué)期期中數(shù)學(xué)試題
- 視頻監(jiān)控方案-高空瞭望解決方案
- 完整液壓系統(tǒng)課件
- 2024-2030年中國通信工程行業(yè)發(fā)展分析及發(fā)展前景與趨勢預(yù)測研究報告
- 雙梁橋式起重機小車改造方案
- 2022年福建省職業(yè)院校技能大賽中職組“現(xiàn)代物流綜合作業(yè)”賽項規(guī)程
評論
0/150
提交評論