版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
試驗一Java試驗環(huán)境建立
一、試驗?zāi)繕?biāo)
1.掌握Java編程環(huán)境搭建過程:
2.掌握Jcreatorpro軟件使用方法;
3.能使用Javadoc文檔。
二、試驗內(nèi)容
1.下載并安裝JDK1.6,配置JDK環(huán)境變量;
2.下載Javadoc壓縮包并解壓在JDK安裝路徑下:
3.下載Jcreatorpro4.0并安裝和配置使用環(huán)境:
4.使用試驗環(huán)境運行書中實例代碼,在屏幕上輸出“Hell。Java”字符串。
①Javaapplication程序代碼以下:
publicclassHellojava
(
publicstaticvoidmain(Stringargs口)
(
System.out.printIn("HeiloJava!");
}
)
②Javaapplet程序代碼以下:
importjava.awt.*;
publicclassHeiloextendsjava,applet.Applet
{
publicvoidpaint(Graphicsg)
(
g.drawString(z,Hel1c!30,30);
)
)
三、試驗要求
1、預(yù)習(xí)試驗內(nèi)容并寫出上機匯報。
2、試驗中出現(xiàn)問題及試驗體會。
試驗二Java語言程序設(shè)計訓(xùn)練
一、試驗?zāi)繕?biāo):
1.輸入、輸出操作實現(xiàn)原理和方法
2.掌握程序步驟控制實現(xiàn)方法
3.掌握數(shù)組定義和操作方法
二、試驗內(nèi)容
1.計算Result=l!+2!+3!+—+10!
2.計算1---50之間全部素數(shù)和.
3.產(chǎn)生10個100之內(nèi)隨機整數(shù)輸出,并把這10個數(shù)按從小到大次序輸出。
4.隨機產(chǎn)生20個50100間整數(shù),輸出這20個數(shù)并找出最大數(shù)及最小數(shù)輸出。
5.試編寫程序,實現(xiàn)求幾何形狀(長方形、正方形、圓形)周長、面積。(可任選其一)
6.驗證書中例題。
三、試驗要求
1、預(yù)習(xí)試驗內(nèi)容并寫出上機匯報。
2、試驗中出現(xiàn)問題及試臉體會。
試驗三面向?qū)ο蟪绦蛟O(shè)計(一)
一、試驗?zāi)繕?biāo)
1,熟悉類創(chuàng)建方法。
2.掌握對象申明和創(chuàng)建。
3.能利用面向?qū)ο笏枷胩幚硗ǔ栴}。
二、試驗內(nèi)容
1.以下程序能否經(jīng)過編譯?上機驗證并指明錯誤原因和更正方法
ClassLocation!
Privateintx,y;
PUDIICvoidLocation(inta,intb)
{X-a;y-b;}
PuDlicintgetX(){returnx;}
PuDlicintgetYO{returny;}
Publicstaticvoidmain(Stringargs[]){
Locationloc=newLocation(12,20);
System,out.println(loc.gctXO);
System.out.println(loc.getY());}
2.創(chuàng)建一個圖書類,類中包含屬性有:書名、作者、出版社:包含方法有:設(shè)置書籍狀態(tài),查看書籍狀態(tài)。書
籍狀態(tài)有在館和外借兩種。
3.設(shè)廠■—個Birthday類,其組員變量有:year,month,day:提供結(jié)構(gòu)方法、輸出Birthday對象值方法和計算
年紀(jì)方法。編寫程序測試這個類。
4.(選作)編寫一個學(xué)生和老師數(shù)據(jù)輸入和顯示程序,學(xué)生數(shù)據(jù)有編號、姓名、班號和成績,老師數(shù)據(jù)有編號、
姓名、職稱和部門。要求將編號、姓名輸入和顯示設(shè)計成一個類Person,并作為學(xué)生數(shù)據(jù)操作類Student和老師
數(shù)據(jù)操作類Teacher基類。
5.驗證書中例題。
三、試驗要求
1.事先預(yù)習(xí),寫出預(yù)習(xí)匯報
2.上機后寫出試驗匯報
試驗四面向?qū)ο蟪绦蛟O(shè)計(二)
一、試驗?zāi)繕?biāo)
1.熟悉類定義
2.掌握對象申明、實例化及組員引用
3.掌握結(jié)構(gòu)方法及實例方法區(qū)分和使用方法
二、試驗內(nèi)容
1.編寫一個類,描述汽車,其中用字符型描述車牌號,用浮點型描述車價格。編寫一個測試類,其中有一人修改
價格方法,對汽車對象進行操作,依據(jù)折扣數(shù)修改汽車價格,最終在main()方法中輸出修改后汽車信息
2.設(shè)計一個銀行帳戶類,組員變量包含賬號、儲戶姓名、開戶時間、身分證號碼、存款余額等帳戶信息,組員
方法包含存款、取款操作。編寫一個java程序,設(shè)計一個汽車類Vehicle,包含屬性有車輪個數(shù)wheels和車重
weight。小汽車類Car是Vehicle子類,包含屬性有載人數(shù)loader??ㄜ囶怲ruck是Car類子類,其中包含屬
性有載重量payloado每個類全部有結(jié)構(gòu)方法和輸出相關(guān)數(shù)據(jù)方法。
3.編寫,個java程序,設(shè)計,個汽車類Vehicle,包含屬性有車輪個數(shù)wheels和車重weight。小汽車類Car
是Vehicle子類,包含屬性有載人數(shù)loader??ㄜ囶怲ruck是Car類子類,其中包含屬性有載重量payload。每
個類全部有結(jié)構(gòu)方法和輸出相關(guān)數(shù)據(jù)方法。
4.驗證書中例題。
三、試驗要求
1.事先預(yù)習(xí),寫出預(yù)習(xí)匯報
2.上機后寫出試驗匯報
試驗五面向?qū)ο缶C合試驗
一、試驗?zāi)繕?biāo)
1.熟悉類定義;
2.掌握對象申明、實例化及組員引用:
3.掌握結(jié)構(gòu)方法及實例方法區(qū)分和使用方法。
二、試驗內(nèi)容
多數(shù)用戶對去銀行辦理存款、取款等業(yè)務(wù)并不默生,用戶自然感覺到了經(jīng)過計算機辦理業(yè)務(wù)方便、快捷,也
自然對編寫出銀行系統(tǒng)程序程序員發(fā)出由衷敬意。實際上,當(dāng)我們含有了面向?qū)ο缶幊讨R以后,我們也能編寫
出對應(yīng)程序。
程序框架以下,將代碼補充完整:
packagebank;〃創(chuàng)建程序包
importjava.util.*;〃引入程序包
class3ankCount〃定義類
{intid:
Stringname,date;
floatmoney;
publicBankCount(intid,Stringname,Stringdate,floatmoney)//結(jié)構(gòu)方法
{〃方法體
)
}
class3C0ption
{Vectorvec=newVector():〃對象申明和實例化
staticintcount=0;〃類中靜態(tài)變量定義
puDlicvoidkaihu(BankCountbe)//方法體,實現(xiàn)開戶功效〃實例方法
)
publicvoidmoneyOut(intid,floatoutmoney)〃方法體,實現(xiàn)取錢功效
)
publicvoidmoneyln(intid,floatinmoney)
{〃方法體,實現(xiàn)存錢功效
)
publicvoidquery(intid)
{〃方法體,查詢并輸出賬戶信息
)
publicstaticvoidmain(Stringargs[])
{〃實現(xiàn)賬戶相關(guān)操作
}}
三、試驗要求
1、依據(jù)題目要求完成程序中沒有完成模塊。
2、寫好上機匯報。
試驗六異常處理
一、試驗?zāi)繕?biāo)
1.熟悉異常拋出和捕捉含義:
2.掌握異常捕捉和處理方法:
3.能自定義異常。
二、試驗內(nèi)容
現(xiàn)在多數(shù)學(xué)校成績管理全部由計算機進行管理,這就需要有對應(yīng)應(yīng)用程序。編寫成績管理應(yīng)用程序,其中有
成績錄入模塊,成績錄入過程中,難免出現(xiàn)錄入數(shù)據(jù)類型出現(xiàn)錯誤,或錄入成績不在合理范圍。在成績錄入過程
中,若出現(xiàn)上述錯誤,程序應(yīng)該怎樣處理。
程序框架以下,將代碼補充完整:
class負分異常extendsException〃當(dāng)錄入了負分時。此處應(yīng)用了自定義異常
}
class高分異常extendsException〃當(dāng)錄入分超出100時。應(yīng)用了自定義異常
)
publicclassExceptionDcmo
(
staticfinalintnumbcr=2:
intscore[]=newint[number];
publicvoid檢驗分數(shù)(int分數(shù))throws負分異常,高分異?!ㄏ旅娣椒ㄖ信卸偃玟浫氤煽儾缓?/p>
理,則拋出異常,但本方法并不處理異常,僅申明了異常
{if(分數(shù)>100)thrownew高分異常();〃經(jīng)過throw,人工拋出異常
if(分數(shù)<0)thrownew負分異常();
)
publicvoid錄入成績()
{inti;
for(i=0;i<number;i++)
{try{
score[i]=Integer.parseinI(JOptionPane.showInpulDialog("請輸入第"+(i+l)
+”個同學(xué)成績”));
}catch(NumbcrFormatExccptione)〃在try{....}calch間語句中若產(chǎn)生異常,則捕捉異常,
直接進行異常處理
try(檢驗分數(shù)(score[i]);〃在檢驗分數(shù)模塊中,可能產(chǎn)生高分異常對象,也可能產(chǎn)生低分異
常對象,依據(jù)不一樣情況,進行不一樣處理
hatch(高分異常e){
}catch(負分異常e){
)
)
)
publicvoid輸出成績0
publicstaticvoidmain(Stringarg口)
(
ExceptionDemodemo=newExceptionDemoO:
demo.錄入成績();
demo.輸出成績0;
)
)
三、試驗要求
1、依據(jù)題目要求完成程序中沒有完成模塊。
2、寫好上機匯報。
試驗七:圖形用戶界面設(shè)計(一)
試驗?zāi)繕?biāo):
1.鞏固圖形用戶界面設(shè)計方法
2.掌握事件處理設(shè)計方法
試驗內(nèi)容:
1.繪制以下形式圖形界面,要求:窗體背景為藍色,中間為黃色方格。
2.編寫程序,繪制以下格式界面:
RFrame3兇
BUTTON
RUVlfT1T1OVINRUIVIT1T1OUINV
BUTTON
BUTTONBUTTON
dITTAM
BUTTONUV11UN
BUTTONBUTTON
3.編寫程序,創(chuàng)建以下圖所表示圖形界面(無須為組件提供功效)。
4.驗證書中例題。
三、試驗要求:
1.事先預(yù)習(xí),寫出預(yù)習(xí)匯報
2.上機驗證后寫出試驗匯報
試驗八圖形用戶界面設(shè)計(二)
一、試驗?zāi)繕?biāo)
1.掌握多種組件使用方法;
2.掌握布局管理器布局方法;
3.掌握事件處理機制。
二、試驗內(nèi)容
1.驗證書中例題。
2.試創(chuàng)建以卜.圖所表示圖形用戶界面,顏色列表框為紅色、綠色和藍色。
廠背景廠前景
3.編寫程序,創(chuàng)建以卜圖所表示圖形界面。(要求實現(xiàn)功效)
三、試驗要求
1、依據(jù)題目要求完成各程序。
2、寫好上機匯報。
試驗九圖形用戶界面設(shè)計(三)
一、試驗?zāi)繕?biāo)
1.掌握多種組件使用方法;
2.掌握布局管理器布局方法:
3.掌握事件處理機制。
4.熟悉繪圖類基礎(chǔ)使用方法
5.掌握繪圖類中常見繪圖方法
二、試驗內(nèi)容
1.驗證書中例題:P200頁例6.5、P209頁例6.6。
2.設(shè)計一個程序,程序?qū)嵤r,隨機產(chǎn)生一條直線、一個矩形、一個橢圓,而且每個圖形顏色不一樣.(說
明:可利用系統(tǒng)類Math中靜態(tài)方法random(),該方法產(chǎn)生一個0」間小數(shù))
3.設(shè)計以下形式窗口,并實現(xiàn)窗口關(guān)閉功效:
段&術(shù)--X
4.設(shè)計以下形式窗口,并實現(xiàn)窗口關(guān)閉功效:
三、試驗要求
1、依據(jù)翹目要求完成各程序。
2、寫好上機匯報。
試驗十:圖形用戶界面綜合設(shè)計
一、試驗?zāi)繕?biāo):
1、鞏固圖形用戶界面設(shè)計方法
2、掌握事件處理設(shè)計方法
二、試驗內(nèi)容:
案例學(xué)生信息注冊界面設(shè)計解析
多數(shù)學(xué)校學(xué)生檔案信息全部由計算機進行管理,在編寫檔案管理應(yīng)用程序中,有檔案信息錄入模塊,該模塊
功效是在圖形化界而下,用戶把信息輸入到計算機中。錄入界面大致樣式及組件名稱圖。
框架
信R錄入力x
文本行
標(biāo)簽姓名:F
性別.▼「男1女
面板
單選鈕
愛堂;體育廠音樂廠美術(shù)
復(fù)選框
籍之雁坊二I
選擇框
[W1I<按鈕
姓名a性別:男愛好:估有籍貫:濟南
第2名同學(xué)的愉入信息為:
姓名b性別:女愛好生育音樂籍貫煙臺文本區(qū)
第3名同學(xué)的輸入信息
姓名:C性別:女:美術(shù)籍貫:浸坊
圖5-1信息錄入界面
設(shè)計上述程序界而并實現(xiàn)對應(yīng)功效,程序框架以3補全代碼:
puDlicclassInputDataimplementsActionListener
Framef;//中明框架對象
Label11,12,13,14;〃申明標(biāo)簽對象
TextFieldt;//申明文本行對象
Checkboxrl,r2;〃中明單選鈕對象
CheckboxGroupg://申明組對象
Checkboxcl,c2,c3;
Choicech;〃申明選擇樞對象
Buttonb;〃申明按鈕對象
TextAreata;〃申明文本區(qū)對象
Panelpl,p2,p3,p4,p5;〃申明面板對象
inti=0;
pub1icInputData()
{〃對象實例化;
f=newFrame("信息錄入
ch.add("濟南");〃添加選擇項
pl=newPanel();
pl.setLayout(newF1owLayout(F1owLayout.LEFT));〃設(shè)定面板布局樣式
pl.add(ll);〃面板中加入組件
f.setLayout(newGridl.ayout(2,I));〃設(shè)定框架布局樣式
f.addWindowListener(newWindow/\dapter(){〃注冊事件監(jiān)聽器,匿名類實現(xiàn)接口
});
f.setVisible(true);
)
publicvoidactionPerformed(ActionEvente)〃事件處理接口實現(xiàn)
{〃把輸入內(nèi)容顯示到文本區(qū)中:
)
publicstaticvoidmain(Stringargs[])
{
newInputDataO;
)
三、試驗要求:
1、事先預(yù)習(xí),寫出預(yù)習(xí)匯報
2、上機驗證后寫出試驗匯報
試驗十一多線程技術(shù)
一、試驗?zāi)繕?biāo)
1.了解多線程編程技術(shù)概念:
2.掌握多線程創(chuàng)建方法:
3.掌握多線程在實際應(yīng)用開發(fā)程序中使用。
二、試驗內(nèi)容
案例動畫顯示解析
動畫顯示是多媒體技術(shù)一個關(guān)鍵方面,現(xiàn)在動畫制作也是日常工作中常常要用到,實現(xiàn)動畫技術(shù)方法也
很多,利用多線程技術(shù)方法能夠處理動畫顯示部分實現(xiàn)問題,
動畫原理:
在Applet中加載若干幅表現(xiàn)不一樣狀態(tài)圖片,利用線程按次序切換圖片實現(xiàn)動畫效果。下載圖片時,使
用了圖像跟蹤技術(shù)。
嘗試實現(xiàn)功效,補全代碼。
1、程序代碼;
importjava.awt.*;
importjava.applct.Applct;
publicclassAnimationextendsAppletimplementsRunnable
Imageimages";〃圖像數(shù)組
MediaTrackertracker;〃圖像跟蹤對象變量
intindex=0:〃圖像索引
Threadanimator;〃線程變量
ImageoffScrlmage;〃用于圖像緩沖圖像對象變量
GraphicsoffScrGC;〃圖像對象變量
inttotal=5;〃圖片總數(shù)
publicvoidinit()
{tracker=newMediaTracker(this);〃建立圖像跟蹤對象
images=newImage[total1;〃建立數(shù)組
try]
offScrImage=creaicImagc(gciWidih(),gclHeighi());〃建立用于緩沖對象
offScrGC=offScrIinagc.gctGraphics();〃取出圖像對象
offScrGC.sctColor(gctBackground());
offScrGC.fillRcct(0,0,getWidth(),ge(Height());//用背景色畫矩形
}catch(Exccptione)|e.printS(ackTrace();)
for(inti=0;i<total;i++)〃載入圖像,并利用跟蹤對象跟蹤
try(
tracker.waitForAII();〃等候全部圖像載入完
}catch(lnterruptedExceplione){}
)
publicvoidslart()〃在緩沖區(qū);隹備好第一幅圖并建立線程、開啟線程
publicvoidrun()
try{
animator.sieep(2(X));〃休眠等候200亳秒
}catch(InteiTuptedExceptione){
repainl();〃調(diào)用重畫方法
publicvoidpaint(Graphicsg)
publicvoidupdate(Graphicsg)〃重寫update()方法預(yù)防閃爍
publicvoidstop()
if(animator!=null)
animator=null;〃清除對象,停止線程
2、Applet程序運行,編寫Html文件:
<HTML>
<APPLETcode="Animation.class"width="400"hcight="300"x/APPLET>
</HTML>
三、試驗要求:
1、事先預(yù)習(xí),寫出預(yù)習(xí)匯報2、上機驗證后寫出試驗匯報
試驗十二:Applet程序設(shè)計
一.試驗?zāi)繕?biāo):
1.熟悉Applet程序編寫和運行
2.掌握HTML文件和Applet間參數(shù)傳輸
3.掌握在Applet中輸出圖像和聲音
二.試驗內(nèi)容:
1.設(shè)計用戶郵箱登錄界面。(以下所表示)
2.請編寫一個Applet,用它HTML文件中給出兩個整型參數(shù)作加數(shù),求它們和,并顯示結(jié)果。
3.準(zhǔn)備好多個音樂文件和一幅圖像,編寫一個Applet,顯示一幅圖像并添加“播放”、“循環(huán)”、“停止”三個按
鈕,用于控制音樂文件播放。
4.驗證書中例題。
三、試臉要求
1、預(yù)習(xí)試驗內(nèi)容并寫出上機匯報。
2、求驗中出現(xiàn)問題及試驗體會。
試驗十三輸入輸出(一)
一、試驗?zāi)繕?biāo):
1.了解Java輸入輸出實現(xiàn)機制;
2.掌握常見輸入輸出類功效及方法:
3.掌握常見數(shù)據(jù)類型針對文件輸入輸出方法。
二、試驗內(nèi)容:
1.double型數(shù)組中保留有以下數(shù)據(jù):1.23,69.88,34.45,67.98,2345.67。將數(shù)據(jù)以二進制形式保留到文
件中去。
2.編程將以上數(shù)據(jù)以可打印形式保留到文件中去。
3.讀入..cn網(wǎng)頁內(nèi)容,并以可讀形式將其輸出到一個文件中去。
三、試驗要求:
1、預(yù)習(xí)試驗內(nèi)容并寫出上機匯報。
2、試驗中出現(xiàn)問題及試驗體會。
試驗十四輸入輸出(二)
一、試驗?zāi)繕?biāo)
1.了解Java輸入輸出實現(xiàn)機制:
2.掌握常見輸入輸出類功效及方法;
3.掌握常見數(shù)據(jù)類型針對文件輸入輸出方法。
二、試驗內(nèi)容
案例記事本程序設(shè)計解析
我們常常使用記事原來統(tǒng)計、保留部分數(shù)據(jù)、文字,或打開以前創(chuàng)建文件進行操作。把我們編輯好內(nèi)容存入
文件就是輸出。而打開原有文件內(nèi)容則是輸入。程序主界面圖1所表示。當(dāng)點擊打開按鈕則彈出打開文件對話框
圖2所表示。當(dāng)選擇文本文件后,將文本文檔內(nèi)容顯示在文本區(qū)中圖3所表示。同理,當(dāng)在文本區(qū)中編輯好內(nèi)容
后,點擊保留按鈕,則彈出文本保留對話框,選擇保留位置后可將內(nèi)容保留到文件中去。
試嘗試實現(xiàn)此功效。
圖1記事本界面圖2打開文件對話框圖3顯示文件內(nèi)容
源代碼以下.補全代碼:
1.界面程序:
importjava.awt.*;
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
importjava.io.*;
publicclassFrame1extendsJFrameimplementsActionListener
{
JPanelcontentPane;
JScrollPanejScrollPanel=newJScrollPane();
BorderLayoutborderLayout1=ne"BorderLayout();
JPaneljPanell=newJPanelO;
JTextAreajTexlArea1=newJTextAreaO;
JButtonjButtonl=newJButtonO;
JButtonjButton2=newJButton();
〃窗口結(jié)構(gòu)方法
publicFrameI()
.%blnit()方法完成界面初始化設(shè)置
privatevoidjblnii()throwsException
〃保留、打開兩個按鈕事件處理方法
□ublicvoidactionPerfonned(ActionEvenle)
(〃假如用戶點擊保留按鈕
〃假如用戶點擊打開按鈕
if(e.getSource()==jButton?)
(
jTextAreal.setText("");
JFileChooserfc=newJFileChooser();
try{
)
}
catch(Exceptionex){
Systeni.out.pnnl(ex.toSlringO);
}
2.主程序:
importjava.awl.*;
importjavax.swing*;
publicclassApplication!
(
publicApplication1()
(
Frame1frame=newFrame1();
//使窗口居中
DimensionscreenSize=Toolkit.getDefaultlbolkit().getScreenSize();
DimensionframeSize=frane.getSize();
if(frameSize.height>screenSize.height)
{frameSize.height=screenSize.height;}
if(framcSizc.width>screenSize.width)
{framcSize.width=scrccnSize.width;}
frame.setLocation((screenSize.width-framcSize.width)/2,(screenSize.height-frameSize.height)
/2);
frame.setVisible(true);
)
〃主程序main。方法
publicstaticvoidmain(String[]args)
{newApplication1();})
三、試驗要求
1、預(yù)習(xí)試驗內(nèi)容并寫出上機匯報。2、試驗中出現(xiàn)問題及試驗體會。
試驗十五網(wǎng)絡(luò)通信
一、試驗?zāi)繕?biāo)
1.了解網(wǎng)絡(luò)通信原理和常見通信扳術(shù)概念;
2.掌握基于TCP協(xié)議套接字網(wǎng)絡(luò)編程方法
3.掌握網(wǎng)絡(luò)通信在實際應(yīng)用開發(fā)程序中應(yīng)用。
二、試驗內(nèi)容
案例聊天程序解析
經(jīng)過建立一個Socket用尸端和一個ScrvcrSocket服務(wù)端進行實時數(shù)據(jù)交換。運行時先打開服務(wù)器端,然后
再打開用戶端,單擊用戶端“連接服務(wù)器”按鈕將和服務(wù)器建立連接:連接以后,雙方在各自圖形界面文本框中
填寫要發(fā)送信息,然后單擊“Send”按鈕,就能夠進行通信了。程序運行結(jié)果圖I所表示。整個程序分成用戶
端和服務(wù)器端兩大部分,分別保留成Clicnt.java和Scrver.java兩個文件。
圖1聊天程序運行界面(用戶端和服務(wù)器端)
L用戶端程序代碼:
.*;
importjava.io.”
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
classClientextendsJFrameimplementsAciionListener
{Socketsock;〃定義套接字對象
JTcxtArcatl=ncwJTcxtArcaO;
JTcxtFicldt2=ncwJTcxtFicld(20i;
JButtonbl=newJButton(,"send"):
JButtonb2=ncwJBulton("連接服務(wù)器");
DataOutputStreamout;〃定義數(shù)據(jù)輸出流
DatalnputStreamin;〃定義數(shù)據(jù)輸出流
publicClient()
JScrollPanejsp=newJScrollPane(tl);
this.getContentPane().add(jsp,"Center");
JPanelp!=newJPanel();
pl.add(t2);pl.add(bl);
JPanelp2=newJPanel();
p2.add(b2);
lhis.getContentPane().add(p2,"North");
this.gctCon(cn(Panc().add(pI/'South");
b1.addActionListcncr(this);b2.addActionListcncr(this);
sciTiUc(“用戶端");sctSizc(340,200);sctVisiblc(trjc);
addWindowListcncr(newWindowAdaptcrO
{
publicvoidwindowClosingfWindowEvente)
}
publicvoidactionPerformed(ActionEvente)
else
publicstaticvoidniain(Stringagrs|])
ClientinainFrame=ncwClientO;
}
I
classCommunnionextendsThread
(
Clientfp;
Communnion(Clientfp)
(
this.fp=fp;
)
publicvoidrun()
(
Stringmsg=null;
while(tme)
try{
fp.out.close();〃關(guān)閉Socket輸出流
fp.in.closeO;〃關(guān)閉Socket輸入流
fp.sock.close();〃關(guān)閉Socket
}catch(Exceptionee){}
I
)
2.服務(wù)器端代碼:
.*;
importjava.io.*;
importjava.aw(.*;
importjava.awt.evcnt.*;
importjavax.swing.*;
classServerextendsJFramcimplementsActionListcncr
(
ScrvcrSockctscrvcrSock;〃定義服務(wù)器套接字
Socketsock;〃定義用戶套接字
JTextAreatl=newJTextArea();
JTextFieldt2=newJTextField(20i;
JButtonbl=newJButton("send"):
DataOutputStreamout;〃定義數(shù)據(jù)輸出流
DatalnputStreamin;〃定義數(shù)據(jù)輸入流
Stringcname=null;
publicServer()
JScrollPanejsp=newJScroilPane(tl);
this.getContentPane().add(jsp,"Center");
JPanelpl=newJPanel();
pl.add(t2);
pl.add(bl);
this.getContentPane().add(pI,"South");
b1.addActionListener(this);
setTitle("服務(wù)器)
setSize(340,200);
se(Visiblc(truc);
try{sock=servcrSock.acccp(();〃使用acccpi()阻塞等候用戶請求,
〃有用戶請求到來則產(chǎn)生一個Socket時象,并繼續(xù)實施
out=newDataOutputStream(sock.getOutpu(Stream());
〃由Socket對象得到諭入流,并結(jié)構(gòu)對應(yīng)DataOuiputStream對象
in=newDataInputStreani(sock.getlnputStream());
〃由socket對象得到輸出流,并結(jié)構(gòu)DatalnputSlream對象
out.writeUTF("你連接服務(wù)器成功)〃給用戶反饋信息
Communnionth=newCommunnion(this);〃建立和用戶端交互線程
th.start();//開啟線程
}catch(Exceptione)()
addWindowListener(newWindowAdapter(){
publicvoid\vindowClosing(WindowEvenle)
{lry{
out.writeUTFC,bye");〃退出時告訴用戶端
}catch(Exceptionee){}
disposeO;
System.exit(O);
I);
publicvoidactionPerformed(ActionEvente)
}
publicstaticvoidmain(Stringagn>(l)
{ServermainFrame=newServerO;
)
classCommunnionextendsThread
(
Serverfp;
Communnion(Serverfp)
{
this.fp=fp;
}
publicvoidrun()
|
Stringmsg=nuli;
while(true)
try{
)caich(Exceptionee){break;}
try(
fp.out.close();〃關(guān)閉socket輸出流
fp.in.closc();//關(guān)閉socket輸入流
fp.sock.closcO;〃關(guān)閉socket
fp.serverSock.close();//關(guān)閉ServerSocket
}ca(ch(Exceptionee)()
三、試驗要求:
1、事先預(yù)習(xí),寫出預(yù)習(xí)匯報
2、上機驗證后寫出試驗匯報
試驗十六數(shù)據(jù)庫設(shè)計
一、試驗?zāi)繕?biāo)
1.了解JDBC功效及體系結(jié)構(gòu):
2.掌握利用JDBC實現(xiàn)數(shù)據(jù)庫查詢更新等操作方法;
3.掌握基礎(chǔ)Java數(shù)據(jù)庫程序設(shè)計,
二、試驗內(nèi)容
案例成績查詢系統(tǒng)分析
設(shè)計一.個小程序能夠?qū)崿F(xiàn)多種單科考試、競賽等成績多種皆詢。將操作和圖形用尸界面相結(jié)合,則很輕易
實現(xiàn)績查詢系統(tǒng)。程序包含三個類,除了主程序及窗體程序外,數(shù)據(jù)庫連接功效單獨由一個類來完成。程序主界
面圖1所表示。當(dāng)輸入考號后點擊按考生查詢按鈕,則顯示該生成績圖2所表示。
圖1成績查詢系統(tǒng)界面
點擊“成績名次”按鈕能夠查看考試排名圖3所表示。點擊“未經(jīng)過名單”按鈕能夠查看學(xué)生不及格情況圖
4所表示。
:或靖查旬系統(tǒng)
成
績
學(xué)號姓名名次
。1
206030401馬右品
98%.Q2
2006030406田嘯龍
Q3
王斐麗89,
2CCe03040t4
20003040,喬銘7.0
83M.O5
20060304?劉政政
CQ
圖3查詢成績名次圖4查詢未經(jīng)過名單
在上面案例框架中,我們需要利用JDBC連接數(shù)據(jù)庫進行訪問。
試嘗試實現(xiàn)此功效,補全代碼。
1.數(shù)據(jù)庫連接美:
importjava.sql.*;
publicclassDbConnect〃靜態(tài)方法提升數(shù)據(jù)庫連接
2.窗體程序:
importjava.awt.*;
importjavax.swing.*;
importjava.sql.*;
importjava.awt.event.*;
publicclassScorelnquirementFrameextendsJFrameimplementsActionListener
(
JPanelcontenlPane;
Connectioncon;
Statemcnist;
JSplitPancjSplitPancI=newJSplitPancO;
BorderLayoulborderLayout1=newBorderLayoutO;
JPaneljPanell=newJPanelO;
/ScrollPanejScrollPane1=newJScrolIPancO;
JTcxtAreajTcxtArea1=newJTcxtArcaO;
JLabcljLabcll=newJLabel("考號)
JButtonjButtonl=newJBulton("成績名次)
JBu(tonjButton2=newJButton("未經(jīng)過名單》
JTextFieldjTextFieldI=newJTextFieldO:
JButtonjButton3=newJButton("按考生查詢”);
“結(jié)構(gòu)方法
publicScore!nquirementFrameO
}/進行窗口初始化
□rivatevoidjblnit()throwsException
(
contentPane=(JPanel)getConlentPane();
contentPane.setLayouKborderLayout1);
setSize(ncwDimcnsion(400.30()?;
seiTitle("成績查詢系統(tǒng))
con=DbConncct.gctConn(
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 上外云間中學(xué)2026年教師招聘備考題庫及1套參考答案詳解
- 2025年浙江大學(xué)醫(yī)學(xué)院唐修文課題組招聘備考題庫及一套完整答案詳解
- 2025年山東中國海洋大學(xué)海洋與大氣學(xué)院實驗技術(shù)人員招聘備考題庫完整參考答案詳解
- 三明市沙縣區(qū)2026年緊缺急需學(xué)科教育人才引進備考題庫有答案詳解
- 2025年永州市新田縣消防救援大隊公開招錄政府專職消防員備考題庫及答案詳解參考
- 3-2-cGAMP-c-A-2-5-pG-3-5-p-生命科學(xué)試劑-MCE
- 2-2-Dimethyl-butyryl-CoA-sodium-生命科學(xué)試劑-MCE
- 美姑縣公開招聘事業(yè)單位工作人員領(lǐng)導(dǎo)小組2025年下半年公開考核招聘中小學(xué)教師的備考題庫及完整答案詳解一套
- 2025年宋慶齡幼兒園工作人員公開招聘備考題庫完整答案詳解
- 初二地理仿真試卷及答案
- 切爾諾貝利核電站事故工程倫理分析
- 初中地理七年級上冊第七章第四節(jié)俄羅斯
- 法院起訴收款賬戶確認書范本
- 課堂觀察與評價的基本方法課件
- 私募基金內(nèi)部人員交易管理制度模版
- 針對低層次學(xué)生的高考英語復(fù)習(xí)提分有效策略 高三英語復(fù)習(xí)備考講座
- (完整)《走遍德國》配套練習(xí)答案
- 考研準(zhǔn)考證模板word
- 周練習(xí)15- 牛津譯林版八年級英語上冊
- 電力電纜基礎(chǔ)知識課件
- 代理記賬申請表
評論
0/150
提交評論