




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《Java技術(shù)》實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)一:2023
年10月11日
學(xué)院計(jì)算機(jī)與信息學(xué)院專業(yè)班級(jí)姓名成績(jī)
實(shí)驗(yàn)項(xiàng)目
課程實(shí)驗(yàn)一Java開發(fā)環(huán)指導(dǎo)
Java技術(shù)名
名稱境的安裝與配置教師
稱
教
師
評(píng)教師署名:
年
語(yǔ)
月日
一'實(shí)驗(yàn)?zāi)康?/p>
1.掌握J(rèn)DK的安裝環(huán)節(jié)(有條件的話可以在Linux系統(tǒng)下安裝)。
2.理解環(huán)境變量PATH.CLASSPATH的作用,以及它們的設(shè)立方法(Win98和Win2
023/XP下的不同設(shè)立方法)。
3.熟悉TextPad(或JCreator)編輯環(huán)境,編寫簡(jiǎn)樸的App1ication程序,并編譯和解
釋執(zhí)行。
4.記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯(cuò)誤信息提醒,并給*解決辦法。
二、實(shí)驗(yàn)原理
1.掌握安裝Jdkl.6的過(guò)程。
2.安裝JCreator軟件,用于編譯java程序。
3.在Textpad環(huán)境下編寫一個(gè)HelloWorld.java程序,在DOS提醒符下編譯并執(zhí)行這
個(gè)程序。
4.設(shè)立環(huán)境變量PATH,CLASSPATH,使得Java程序能對(duì)的編譯和執(zhí)行。
5.編寫一個(gè)類A,它位于包a中,保存到A.java中,再編寫一個(gè)類B,它位于包b
中,保存到B.java中。在類B中實(shí)例化類A的一個(gè)對(duì)象。分別編譯類A和類B。
三'使用硬件'軟件環(huán)境
PC計(jì)算機(jī)一臺(tái),配置為CPU為1.5G,內(nèi)存為512M,硬盤為40G,安裝Windows
XP操作系統(tǒng)。
此外,使用JCreator,JDK1.6.0等軟件
四、實(shí)驗(yàn)過(guò)程、環(huán)節(jié)及原始記錄(算法、原程序、測(cè)試結(jié)果,分析等)
1.安裝Jdkl.6.0集成環(huán)境,安裝成功后,配置path,classpath途徑,讓用戶在
任何目錄下均可用到Java的系統(tǒng)資源。
①先配置%JAVA_HOME%環(huán)境變量,途徑為jdk的目錄;
②配置Path環(huán)境變量,途徑為%JAVAHOME%\bin;
③再配置classpath環(huán)境變量,途徑為%JAVA_HOME%由e\lib;
2.在記事本編寫he1loworld程序,并在DOS命令行下編譯運(yùn)營(yíng)。
①在JCreator中寫出如下代碼,并保存為HelloWorld.java:
pub1icclassHe1loWor1d
{
pub1icstaticvoidmain(String[]args)
i
System.out.println("HelloWodd!");}
)
②在命令行中進(jìn)入到該文獻(xiàn)途徑,并輸入javacHelloWorid.java完畢編譯,
再輸入javaHe1loWorld完畢運(yùn)營(yíng)。
3.用記事本編寫包a包b的程序,并用DOS命令行運(yùn)營(yíng)。執(zhí)行過(guò)程:口將兩個(gè)記事
本,改名為A.java和B.java,并寫出如下程序:
A.java文獻(xiàn)的源程序:
packagea;
pub1icc1assA{
publievoidsay(){
QSystem.out.println("Succeed!");
)
}
B.java文獻(xiàn)中的源程序:
packageb;
importa.*;
publicclassB{
publicstaticvoidmain(Stringargs[]){
oAaa=newA();
saa.maker();
f
)
②先在DOS命令行中編譯A.java文獻(xiàn),在命令行中輸入javacA.java
d.
再編譯B.java文獻(xiàn),在命令行中輸入javacB.java-d.
③在命令行中輸入javab.B
即可完畢。
五、實(shí)驗(yàn)結(jié)論、分析、思考題與心得體會(huì)
通過(guò)本次實(shí)驗(yàn),我有以下幾方面的收獲、結(jié)識(shí)和體會(huì):
1、學(xué)會(huì)了在記事本和命令行,JCreator,等環(huán)境下編寫程序及運(yùn)營(yíng)程序的方法;
2、學(xué)會(huì)了如何安裝JDK,以及如何配置%JAVA_HOME%,path,classpath等環(huán)境
變量
3、加深了Java中相關(guān)語(yǔ)法的結(jié)識(shí):
①文獻(xiàn)名必須與pub1ic類的類名相同,并且一個(gè)文獻(xiàn)中只允許有一個(gè)publi
c類。
②Java對(duì)大小寫敏感,如String中的S就嚴(yán)格區(qū)分大小寫;對(duì)中文標(biāo)點(diǎn)符號(hào)和英
文標(biāo)點(diǎn)符號(hào)敏感Java只能辨認(rèn)英文標(biāo)點(diǎn)符號(hào)。
③在用記事本編寫包a包b的程序,并用DOS命令行運(yùn)營(yíng)時(shí)。要將兩個(gè)類分別放
在兩個(gè)文獻(xiàn)中,要先編譯A.java再編譯B.java,在編譯時(shí)一定要在命令行
中輸入javacA.java-d.和javacB.java-d.才干自動(dòng)打包;兩個(gè)文獻(xiàn)都
編譯完畢以后,在命令行的父目錄中輸入javab.B來(lái)執(zhí)行,輸入java
b.B.java。
3、思考題
1).。什么是JVM,它的作用是什么?
JVM就是java虛擬機(jī)的英文簡(jiǎn)寫,java虛擬機(jī)就是為任何的平臺(tái)提供一個(gè)編譯jav
a程序的接口。就是將編譯的java程序翻譯,以供不同的平臺(tái)去辨認(rèn)。
2)如何理解PATH和CLASSPATH,,如何設(shè)立它們。
PATH和CLASSPATH分別是JavaJDK和JRE的途徑。設(shè)立是在計(jì)算機(jī)屬性中的
高級(jí)系統(tǒng)設(shè)立的環(huán)境變量,配置方法如下:
①先配置%JAVA_HOME%環(huán)境變量,途徑為jdk的目錄;
②配置path環(huán)境變量,途徑為%JAVA_HOME%\bin;
③再配置classpath環(huán)境變量,途徑為%JAVA_H。ME%\jre\lib;
《Java技術(shù)》實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)二:2023
年10月11日
學(xué)院計(jì)算機(jī)與信息學(xué)院專業(yè)班級(jí)姓名成績(jī)
實(shí)驗(yàn)項(xiàng)目
課程實(shí)驗(yàn)二類的封裝、繼指導(dǎo)
Jav3技術(shù)名
名稱承、多態(tài)教師
稱
教
師
評(píng)教師署名:
年月
語(yǔ)
日
一'實(shí)驗(yàn)?zāi)康?/p>
1.復(fù)習(xí)、理解OOP的三大特性——封裝、繼承和多態(tài)。
2.學(xué)會(huì)使用Java編寫簡(jiǎn)樸的類。理解類的屬性和方法。
3.掌握關(guān)鍵字private,protected,public的作用,掌握靜態(tài)類,內(nèi)部類的概念。
4.掌握多態(tài)的概念。
二'實(shí)驗(yàn)原理
分別編寫兩個(gè)類Point2D,Point3D來(lái)表達(dá)二維空間和三維空間的點(diǎn),使之滿足下列規(guī)
定:
(1)Point2D有兩個(gè)整型成員變量x,y(分別為二維空間的X,Y方向坐標(biāo)),Point2D的
構(gòu)造方法要實(shí)現(xiàn)對(duì)其成員變量x,y的初始化。
(2)Point2D有一個(gè)void型成員方法offset(inta,intb),它可以實(shí)現(xiàn)Po
int2D的平移。
(3)Point3D是Point2D的直接子類,它有有三個(gè)整型成員變量x,y,z(分別為三維空間
的X,Y,Z方向坐標(biāo)),Point3D有兩個(gè)構(gòu)造方法:Point3D(intx,inty,intz)和
Point3D(Point2Dp,intz),兩者均可實(shí)現(xiàn)對(duì)Poin13D的成員變量x,y,z的初始
化。
(4)Point3D有一個(gè)void型成員方法oflfcet(inta,intb,intc),該方法可以實(shí)現(xiàn)
Point3D的平移。
(5)在Point3D中的主函數(shù)main()中實(shí)例化兩個(gè)Point2D的對(duì)象p2dl,p2d2,打印
出它們之間的距離,再實(shí)例化兩個(gè)Point3D的對(duì)象p3dl,p3d2,打印出他們之間的距離。
(提醒:java.1ang.Math.sqrt()方法)
三'使用硬件'軟件環(huán)境
PC計(jì)算機(jī)一臺(tái),配置為CPU為1.5G,內(nèi)存為512M,硬盤為40G,安裝Win
dowsXP操作系統(tǒng)。
此外,使用JCreator,JDK1.6.0等軟件
四'實(shí)驗(yàn)過(guò)程、環(huán)節(jié)及原始記錄(算法'原程序、測(cè)試結(jié)果,分析等)
運(yùn)用類的繼承寫一個(gè)point2D類,其子類是point3D。子類P。int3D的構(gòu)造函數(shù)調(diào)用了
父類的構(gòu)造函數(shù);計(jì)算平面兩點(diǎn)的距離函數(shù)和計(jì)算空間兩點(diǎn)的距離函數(shù)寫在父類Point2
D中,并且他們是靜態(tài)方法,在子類繼承后,在其主方法(主方法是靜態(tài)的)中可以直接調(diào)用
(或者通過(guò)類名調(diào)用);此外平移函數(shù)可以對(duì)點(diǎn)進(jìn)行平移。
源程序如下:
classPoint2D(
intx,y;
pub1icPoint2D(intx,inty)〃有參構(gòu)造函數(shù),對(duì)x,y初始化
(
this.x=x;
this.y=y;
)
voidoffset(inta,intb)//平移函數(shù)
(
x=x+a;
§y=y+b;
1
publicstaticdoubledistance2D(Point2Da,Point2Db){retur
nMath.sqrt(Math.pow((a.x-b.x),2)+Math.pow((a.y-b.y),2));}〃靜
態(tài)方法,求平面兩點(diǎn)的距離
pub1icstaticdoubIedistance3D(Point3Da,Point3Db){return
Math,sqrt(Math.pow((a.x-b.x),2)+Math.pow((a.y-b.y),2)+Math.pow
((a.z-b.z),2));}〃靜態(tài)方法,求空間兩點(diǎn)的距離
}
pub1icclassPoint3DextendsPoint2D{
,intz;
,Point3D(intx,intyrintz)//構(gòu)造函數(shù),對(duì)x,y,z初始化
(
°super(x,y);
this.z=z;
,}
aPoint3D(Point2Dp,intz)//構(gòu)造函數(shù),對(duì)x,y,z初始化
,§super(p.x,p.y);
。this.z=z;
,}
voidoffset(inta,intb,intc)//平移函數(shù)
(
ox+=a;
y+=b;
,z+=c;
,}
?pubIicstaticvoidmain(Stringargs[]){
Point2Dp2d1=newPoin12D(10,3);
Point2Dp2d2=newPoint2D(2,2);
,Point3Dp3d1=newPoint3D(10,11,0);
,Point3Dp3d2=newPoint3D(1,6,0);
,Point3Dp3d3=newPoin13D(p2d1,16);
SB言理員:命令提示符
MicrosoftVHndows[版本6.1.7601]
版權(quán)所有2009MicrosoftCorporationo保留所有權(quán)利。
C:\Users\^dninistrator>cddesktop
C:XJUsersSAdninistratorSDesktop^auacPoint3D.jaua
C:\Users\Adninistrator\Desktop>jauaPoint3D
distance2D=8.06225774829855
distance3D=10.295630140987
Systern.out.printIn("distance2D="+distance2D(p2d1,p2d2));
oSystem.out.printIn("distance3D="+distanee3D(p3d1,p3d2));
。}
)
運(yùn)營(yíng)結(jié)果:
五、實(shí)驗(yàn)結(jié)論、分析、思考題與心得體會(huì)
通過(guò)本次實(shí)驗(yàn),我有以下幾方面的收獲、結(jié)識(shí)和體會(huì):
1、學(xué)會(huì)了類的繼承、封裝、多態(tài)的基本應(yīng)用,學(xué)會(huì)了兩個(gè)方法叫rt()和pow()在程
序中的運(yùn)用。
2、加深了Java中相關(guān)語(yǔ)法的結(jié)識(shí):△①子類繼承父類的非私有成員,但是不能繼承構(gòu)
造方法,必須用super()來(lái)調(diào)用父類的構(gòu)造方法。
②構(gòu)造方法可以通過(guò)形參的個(gè)數(shù)、類型、排列不同來(lái)重教。
③Math類屬于java.lang包,并且pow()和sqrt()都是static靜態(tài)方法,
可以直接通過(guò)Math.pow()和Math.sqrt()來(lái)調(diào)用。
①Static靜態(tài)方法只能直接調(diào)用靜態(tài)成員,不能直接調(diào)用非靜態(tài)成員。
3、思考題
1).什么是類的多態(tài)性。
接口的多種不同的實(shí)現(xiàn)方式即為多態(tài)。同一段代碼在不同的地方,會(huì)執(zhí)行不同的操作。
《Java技術(shù)》實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)三:20
23年10月11日
學(xué)院計(jì)算機(jī)與信息學(xué)院專業(yè)班級(jí)姓名成績(jī)
實(shí)驗(yàn)項(xiàng)目
課程實(shí)臉三基于GUI的網(wǎng)指導(dǎo)A教
Java技術(shù)名
名稱絡(luò)通信程序設(shè)計(jì)師
稱
教
師
評(píng)
教師署
語(yǔ)
名:
年月
日
一、實(shí)驗(yàn)?zāi)康?/p>
1.掌握J(rèn)ava中GUI程序的編寫,涉及事件監(jiān)聽機(jī)制。
2.掌握J(rèn)ava的網(wǎng)絡(luò)通信編程,ServerSocket,Socket類的使用。
,3.掌握J(rèn)ava中多線程的編程,Thread類,Runnable接口的使用。
。4.掌握用面向?qū)ο蟮姆椒ǚ治龊徒鉀Q復(fù)雜問(wèn)題。
二、實(shí)驗(yàn)原理
編寫程序完畢以下功能:
1.設(shè)計(jì)一個(gè)基于GUI的客戶-服務(wù)器的通信應(yīng)用程序,如圖1,圖2所示。
圖1Socket通信服務(wù)器端界面
圖2Socket通信客戶端界面
2.圖1為Socket通信服務(wù)器端界面,點(diǎn)擊該界面中的【Start】按鈕,啟
動(dòng)服務(wù)器監(jiān)聽服務(wù)(在圖1界面中間的多行文本區(qū)域顯示“Serversta
rting…”字樣)。圖2為Socket通信客戶端界面,點(diǎn)擊該界面中的【Connect]
按鈕與服務(wù)器建立鏈接,并在圖2所示界面中間的多行文本區(qū)域顯示“Conne
cttoserver...”字樣,當(dāng)服務(wù)器端監(jiān)聽到客戶端的連接后,在圖1界面中間
的多行文本區(qū)域追加一行“Clientconnected...“字樣,并與客戶端建立So
cket連接。
3.當(dāng)圖1所示的服務(wù)器端和圖2所示的客戶機(jī)端建立Socket連接后,編
程實(shí)現(xiàn)這兩端的數(shù)據(jù)通信,每次將接受到對(duì)方的數(shù)據(jù)追加顯示在多行文本框中。
三、思考題
1.對(duì)整個(gè)實(shí)驗(yàn)進(jìn)行總結(jié),寫出實(shí)驗(yàn)心得。
2.在完畢上述實(shí)驗(yàn)內(nèi)容的基礎(chǔ)上,嘗試實(shí)現(xiàn)服務(wù)器端可以與多個(gè)客戶機(jī)進(jìn)行
通信。
三、使用硬件,軟件環(huán)境
PC計(jì)算機(jī)一臺(tái),配置為CPU為1.5G,內(nèi)存為512M,硬盤為40G,安裝Wind
owsXP操作系統(tǒng)。
此外,使用JCreator,JDKL.6.0等軟件
四、實(shí)驗(yàn)過(guò)程、環(huán)節(jié)及原始記錄(算法'原程序、測(cè)試結(jié)果,分析等)
①分別編寫兩個(gè)文獻(xiàn)ClientjavaServer.java;這兩個(gè)代碼的結(jié)構(gòu)十分相似,都是先寫一
個(gè)主類,再寫另一個(gè)實(shí)現(xiàn)類,主類通過(guò)創(chuàng)建實(shí)現(xiàn)類的對(duì)象來(lái)調(diào)用其構(gòu)造方法來(lái)實(shí)現(xiàn)功能。實(shí)
現(xiàn)類中寫了很多方法,也寫了很多內(nèi)部類,方法層層調(diào)用。實(shí)現(xiàn)類在構(gòu)造方法中寫了調(diào)用了
實(shí)現(xiàn)GUI的函數(shù),也為按鈕注冊(cè)了監(jiān)聽器。在不同的內(nèi)部類中寫了不同監(jiān)聽器所調(diào)用的
actioPerfonned()方法。
②在服務(wù)器中創(chuàng)建ServerSocket對(duì)象來(lái)接受客戶端的連接請(qǐng)求,并指定端標(biāo)語(yǔ),客戶端通過(guò)
Socket對(duì)象來(lái)向服務(wù)器的ip和端口發(fā)送連接請(qǐng)求。服務(wù)器在接到連接請(qǐng)求后,服務(wù)器會(huì)
創(chuàng)建一個(gè)新的Socket對(duì)象與客戶端的Socket對(duì)象連接。連接成功后通過(guò)10流來(lái)通
信,服務(wù)器的輸入流是客戶端的輸出流,服務(wù)器的輸出流時(shí)客戶端的輸入流。
服務(wù)器代碼如下:
importjava.awt.*;
importjava.awt.event.*;
importjava.util.*;
importjava.io.*;
importjava,net.*;
importjavax.swing.*;
publicclassServer{
◎publicstaticvoidmain(String[]args){
wMyFrameserve=newMyFrame();
oserve.setVisible(true);
“serve.setResizable(false);//設(shè)立此窗體
是否可由用戶調(diào)整大小
。serve.setDefaultC1oseOperation(JFrame.EXITONCLOSE);//設(shè)立默
認(rèn)關(guān)閉操作
}
}
classMyFrameextendsJFrame{
JTextFieldport;
<>JButtonstart;
<?JTextAreacontent;
JTextFieldcin;
JButtonsay;
6Socketsocket;
MyFrame(){
。init();
StartListensListen=newStartListen();
3SayListenstListen=newSayListen();
start.addActionListener(sListen);〃為按鈕start注
冊(cè)一個(gè)監(jiān)聽器
^say.addActionListener(stListen);//為按鈕say注冊(cè)一個(gè)監(jiān)聽器
}
voidinit(){
3setLayout(newF1owLayout());〃設(shè)立窗體為流式布局
。setSize(400,400);
<>setLocation(400,100);
add(newJLabel("Port:"));
呻ort=newJTextField(H8888",25);
oadd(port);
◎start=newJButton("Start");
8ade1(start);
。content=newJTextArea(l5,35);
。JScroliPanescro11=newJScrollPane(content);//設(shè)立滾動(dòng)條
gadd(scroil);
oadd(newJLabel(HSay:"));
cin=newJTextField(26);
。add(cin);
osay=newJButton(°Say");
add(say);
}
classStartListenimp1ementsActionListener{
Od
publievoidactionPerformed(ActionEvente){
start.setEnab1ed(fa1se);
try(
8gServerSockets=newServerSocket(Integer.parseInt(port.getText
()));〃創(chuàng)建一個(gè)服務(wù)器套接字對(duì)象s,形參為從port文本框中讀取的整型(端標(biāo)語(yǔ))
?socket=s.accept();
PrintWriterout=newPrintWriter(newBufferedWriter(new0u
tputStreamWriter(socket.getOutputStream())),true);//倉(cāng)U建一個(gè)打
印輸出流對(duì)象,其形參為從套接字socket對(duì)象中獲取的輸出流
。。out.print1n(nConnectedn);
“content.append("C1ientconnected"+"\n");//對(duì)兩個(gè)字符串進(jìn)
行拼接。
^wServerThreadst=newServerThread();〃創(chuàng)建一個(gè)ServerThread對(duì)
象st,并調(diào)用其構(gòu)造方法
6。st.start();//啟動(dòng)一個(gè)線程,并調(diào)用run
()方法。。
catch(Exceptionex){
Od)
c1assSayListenimp1ementsActionListener{
。Stringstr;
^publicvoidactionPerformed(ActionEvente){
otry{PrintWriterout=newPrintWriter(newBufferedWriter(new
0utputStrearnWriter(socket.getOutputStrcam())),true);〃創(chuàng)建一個(gè)打印輸出
流,形參為從套接字SOcket中獲取的輸出流
。ostr=cin.getText();
8“f(!str.isEmpty()){
e^out.println(newDate()+"\n"+str);〃打印輸出日期
和發(fā)送的消息(str)
content.append(newDate()+"\nme:,,+str+,,\nn);
gOUt.f1ush();〃清空緩
存區(qū)
}
,ocin.setText(,,M);
。}
。catch(Exceptionex){
}
。}
?classServerThreadextendsThread{
Qpublievoidrun(){
8gtry{
BufferedReaderin=newBufferedRcader(newInputstreamReader(s
ocket.getInputStream()));〃創(chuàng)建一個(gè)緩沖輸出流,其形參為從套接字socket中
獲取的輸入流
。Stringstr;
。?while(true){
gg^>str=in.readLine();〃按行讀取
gcontent.append(str+u\n");
b0)
ooa}
Q。catch(Exceptionex){
0lo0
dd}
°}
客戶端代碼如下:
importjava.awt.*;
importjava.awt.event
importjava.util.*;
importjava.io.*;
imp.*;
importjavax.swing.*;
importjava.util.Calendar;
publicclassClient{
pub1icstaticvoidmain(String[]args)
ooMyFramec1ient=newMyFrame();
?client,setVisib1e(true);
?client.setResizable(false);//設(shè)立此窗體是否可由用戶
調(diào)整大小
client.setDefau1tCloseOperation(JFrame.EXITONCLOSE);〃設(shè)立關(guān)閉操
作
6
)
)
classMyFrameextendsJFrame
(
JTextFieldip;
JTextFieldport;
JTextFie1dcin;
JTextAreacontent;
JButtonconnect;
JButtonsay;
Socketsocket;
MyFrame(){
。init();
ConnectListencListener=newConnectListen();
SayListensListener=newSayListen();
econnect.addActionListener(cListener);〃注冊(cè)監(jiān)聽器
say.addActionListener(sListener);〃注冊(cè)監(jiān)聽器
}
voidinit(){
<?setLayout(newFlowLayout());//設(shè)立窗體為流式
布局
setSize(440,500);
?setLocation(800,100);
add(newJLabel(nServer:ip"));
ip=newJTextFie1d(”127.0.0.1”,8);
°add(ip);
add(newJLabel(nServer:port**)):
?port=newJTextField(“8888",8);
add(port);
connect=newJBu11on(nconnect'*);
add(connect);
content=newJTextArea(16,35);
JScro11Panescroll=newJScro1IPane(content);//設(shè)
法滾動(dòng)條
〉add(scro11);
add(newLabe1(MSay:M));
ecin=newJTextField(25);
oadd(cin);
?say=newJButton(nsay"):
add(say);
}
classConnectListenimplementsActionListener{
ntportNum;
publicvoidactionPerfbrmed(ActionEvente){
connect.setEnabled(false);//按下connect按鈕后,co
nnect不可再次點(diǎn)擊
◎try{content.setText(nConnecttoserver....\nn);〃在文本區(qū)中顯
示“Connecttoserver....\n"
portNum=Integer.parseInt(port.getText());//讀取port
文本框中的字符串,并將字符串轉(zhuǎn)化為整型賦給portNum
asocket=newSocket(ip.getText(),portNum);〃定義對(duì)象socket,并指
定主機(jī)號(hào)(host)和端標(biāo)語(yǔ)portNum
。ClientThreadct=newC1ientThread();〃定義一個(gè)ClientTh
read類的對(duì)象ct
-ct.startQ;//啟動(dòng)一個(gè)線程,并調(diào)
用ClientThread類中的run()方法
}
ocatch(Exceptionex){
J60
。}
)
classSayListenimplementsActionListener{
Stringstr;
?publicvoidactionPerfbrmed(ActionEvente){
try{PrintWriterout=newPrintWriter(newBufferedWriter(new
0utputStreamWriter(socket.getOutputStream())),true);〃從socket獲取字節(jié)輸
出流,并將其最終轉(zhuǎn)化為PrintWriter
str=cin.getText();〃從文本框
中獲取字符串賦給str
。if(!
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 門窗貨運(yùn)合同范本
- 蔬菜冷庫(kù)合同范本
- 未來(lái)家居環(huán)境下的健康、智能、綠色衣柜設(shè)計(jì)研究報(bào)告
- 科技產(chǎn)品營(yíng)銷如何洞悉消費(fèi)者心理
- 質(zhì)檢員合同范本
- 煤礦副立井信號(hào)工技能理論考試題庫(kù)150題(含答案)
- 科技公司新人融入團(tuán)隊(duì)的秘訣
- 社交網(wǎng)絡(luò)用戶行為與品牌傳播策略
- 2025至2030年中國(guó)自動(dòng)液體灌裝線數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 定金合同過(guò)戶合同范本
- 2025年服裝制版師(中級(jí))職業(yè)技能鑒定考試題(附答案)
- 一年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)教案2
- 九年級(jí)主題班會(huì)課件:遇見最好的自己(開學(xué)第一課)
- 2025年月度工作日歷含農(nóng)歷節(jié)假日電子表格版
- 2024年長(zhǎng)沙民政職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案解析
- 《商務(wù)數(shù)據(jù)分析》課件-商務(wù)數(shù)據(jù)的分析
- 安全隱患規(guī)范依據(jù)查詢手冊(cè)
- 部編版六年級(jí)下冊(cè)道德與法治全冊(cè)教案教學(xué)設(shè)計(jì)
- 物流無(wú)人機(jī)垂直起降場(chǎng)選址與建設(shè)規(guī)范
- 2024年綠化工職業(yè)技能理論知識(shí)考試題庫(kù)(含答案)
- 最新六年級(jí)英語(yǔ)下冊(cè)《全套教材分析解讀》外研版課件
評(píng)論
0/150
提交評(píng)論