java程序設(shè)計試驗參考指導(dǎo)書_第1頁
java程序設(shè)計試驗參考指導(dǎo)書_第2頁
java程序設(shè)計試驗參考指導(dǎo)書_第3頁
java程序設(shè)計試驗參考指導(dǎo)書_第4頁
java程序設(shè)計試驗參考指導(dǎo)書_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論