合工大JAVA實驗報告_第1頁
合工大JAVA實驗報告_第2頁
合工大JAVA實驗報告_第3頁
合工大JAVA實驗報告_第4頁
合工大JAVA實驗報告_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《Java技術(shù)》實驗報告實驗一:2016年10月11日學(xué)院計算機(jī)與信息學(xué)院專業(yè)班級姓名成績課程Java技術(shù)實驗項目實驗一Java開發(fā)環(huán)境指導(dǎo)名稱名稱的安裝與配置教師教師評教師簽名:語年月日一、實驗?zāi)康?.掌握J(rèn)DK的安裝步驟(有條件的話可以在 Linux系統(tǒng)下安裝)。2.理解環(huán)境變量 PATH,CLASSPATH的作用,以及它們的設(shè)置方法 (Win98

Win2000/XP

下的不同設(shè)置方法 )。3.熟悉TextPad(或JCreator)編輯環(huán)境,編寫簡單的Application程序,并編譯和解釋執(zhí)行。4.記錄編譯和執(zhí)行 Java程序當(dāng)中的系統(tǒng)錯誤信息提示,并給出解決辦法。二、實驗原理1.掌握安裝的過程。2.安裝JCreator 軟件,用于編譯 java程序。3. 在Textpad環(huán)境下編寫一個程序,在 DOS提示符下編譯并執(zhí)行這個程序。設(shè)置環(huán)境變量PATH,CLASSPATH,使得Java程序能正確編譯和執(zhí)行。5. 編寫一個類

A,它位于包

a中,保存到中,再編寫一個類

B,它位于包

b中,保存到中。在類

B中實例化類

A的一個對象。分別編譯類

A和類

B。三、使用硬件、軟件環(huán)境PC計算機(jī)一臺,配置為CPU為1.5G,內(nèi)存為512M,硬盤為40G,安裝WindowsXP操作系統(tǒng)。另外,使用 JCreator,等軟件四、實驗過程、步驟及原始記錄 (算法、原程序、測試結(jié)果,分析等 )1.安裝集成環(huán)境,安裝成功后,配置 path,classpath 路徑,讓用戶在任何目錄下均可用到Java的系統(tǒng)資源。① 先配置%JAVA_HOME%環(huán)境變量,路徑為 jdk的目錄;② 配置path環(huán)境變量,路徑為 %JAVA_HOME%\bin;③ 再配置classpath 環(huán)境變量,路徑為 %JAVA_HOME%\jre\lib;2.在記事本編寫 helloworld 程序,并在 DOS命令行下編譯運行。① 在JCreator 中寫出如下代碼,并保存為:publicclassHelloWorld{publicstaticvoidmain(String[]args){"HelloWorld!");}}② 在命令行中進(jìn)入到該文件路徑,并輸入javac完成編譯,再輸入javaHelloWorld完成運行。3.用記事本編寫包a包b的程序,并用DOS命令行運行。執(zhí)行過程:①將兩個記事本,改名為和,并寫出如下程序:A.java文件的源程序:packagea;publicclassA{publicvoidsay(){"Succeed!");}}文件中的源程序:packageb;importa.*;publicclassB{publicstaticvoidmain(Stringargs[]){Aaa=newA();();}}②先在DOS命令行中編譯文件,在命令行中輸入 javac –d.再編譯文件,在命令行中輸入 javac -d.③在命令行中輸入 java即可完成。五、實驗結(jié)論、分析、思考題與心得體會通過本次實驗,我有以下幾方面的收獲、認(rèn)識和體會:1、學(xué)會了在記事本和命令行 ,JCreator, 等環(huán)境下編寫程序及運行程序的方法;2、學(xué)會了如何安裝 JDK,以及如何配置 %JAVA_HOME%,path,classpath 等環(huán)境變量3、加深了Java中相關(guān)語法的認(rèn)識:① 文件名必須與 public 類的類名相同,并且一個文件中只允許有一個

public

類。Java對大小寫敏感,如String中的S就嚴(yán)格區(qū)分大小寫;對中文標(biāo)點符號和英文標(biāo)點符號敏感,java只能識別英文標(biāo)點符號。③ 在用記事本編寫包 a包b的程序,并用 DOS命令行運行時。要將兩個類分別放在兩個文件中,要先編譯再編譯,在編譯時一定要在命令行中輸入 javac –d.和javac–d.才能自動打包;兩個文件都編譯完成以后,在命令行的父目錄中輸入java來執(zhí)行,輸入java。3、思考題1). 什么是JVM,它的作用是什么?JVM就是java虛擬機(jī)的英文簡寫, java虛擬機(jī)就是為任何的平臺提供一個編譯 java程序的接口。就是將編譯的 java 程序翻譯,以供不同的平臺去識別。2). 如何理解 PATH和CLASSPATH,,如何設(shè)置它們。PATH和CLASSPATH分別是JavaJDK和JRE的路徑。設(shè)置是在計算機(jī)屬性中的高級系統(tǒng)設(shè)置的環(huán)境變量,配置方法如下:① 先配置%JAVA_HOME%環(huán)境變量,路徑為 jdk的目錄;② 配置path環(huán)境變量,路徑為 %JAVA_HOME%\bin;③ 再配置classpath 環(huán)境變量,路徑為 %JAVA_HOME%\jre\lib;《Java技術(shù)》實驗報告實驗二:2016年10月11日學(xué)院計算機(jī)與信息學(xué)院專業(yè)班級姓名成績課程Java技術(shù)實驗項目實驗二類的封裝、繼指導(dǎo)名稱名稱承、多態(tài)教師教師評教師簽名:語年月日一、實驗?zāi)康膹?fù)習(xí)、理解OOP的三大特征——封裝、繼承和多態(tài)。學(xué)會使用Java編寫簡單的類。理解類的屬性和方法。掌握關(guān)鍵字private,protected,public的作用,掌握靜態(tài)類,內(nèi)部類的概念。掌握多態(tài)的概念。二、實驗原理分別編寫兩個類 Point2D,Point3D來表示二維空間和三維空間的點,使之滿足下列要求:(1)Point2D有兩個整型成員變量x,y(分別為二維空間的X,Y方向坐標(biāo)),Point2D的構(gòu)造方法要實現(xiàn)對其成員變量x,y的初始化。(2)Point2D有一個void型成員方法offset(inta,intb),它可以實現(xiàn)Point2D的平移。(3)Point3D是Point2D的直接子類,它有有三個整型成員變量x,y,z(分別為三維空間的X,Y,Z方向坐標(biāo)),Point3D有兩個構(gòu)造方法:Point3D(intx,inty,intz)和Point3D(Point2Dp,intz),兩者均可實現(xiàn)對Point3D的成員變量x,y,z的初始化。(4)Point3D有一個void型成員方法offset(inta,intb,intc),該方法可以實現(xiàn)Point3D的平移。5)在Point3D中的主函數(shù)main()中實例化兩個Point2D的對象p2d1,p2d2,打印出它們之間的距離,再實例化兩個Point3D的對象p3d1,p3d2,打印出他們之間的距離。(提示:方法)三、使用硬件、軟件環(huán)境PC計算機(jī)一臺,配置為 CPU為1.5G,內(nèi)存為 512M,硬盤為 40G,安裝WindowsXP操作系統(tǒng)。另外,使用 JCreator,等軟件四、實驗過程、步驟及原始記錄

(算法、原程序、測試結(jié)果,分析等

)利用類的繼承寫一個

point2D

類,其子類是

point3D

。子類

Point3D

的構(gòu)造函數(shù)調(diào)用了父類的構(gòu)造函數(shù);計算平面兩點的距離函數(shù)和計算空間兩點的距離函數(shù)寫在父類

Point2D

中,并且他們是靜態(tài)方法, 在子類繼承后,在其主方法(主方法是靜態(tài)的) 中可以直接調(diào)用 (或者通過類名調(diào)用);另外平移函數(shù)可以對點進(jìn)行平移。源程序如下:classPoint2D{intx,y;publicPoint2D(intx,inty)

么是類的多態(tài)性。接口的多種不同的實現(xiàn)方式即為多態(tài)。同一段代碼在不同的地方,會執(zhí)行不同的操作。《Java技術(shù)》實驗報告實驗三:2016年10月11日學(xué)院計算機(jī)與信息學(xué)院專業(yè)班級姓名成績課程Java技術(shù)實驗項目實驗三基于GUI的網(wǎng)絡(luò)指導(dǎo)名稱名稱通信程序設(shè)計教師教師評教師簽名:語年月日一、實驗?zāi)康恼莆認(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ù)雜問題。二、實驗原理編寫程序完成以下功能:設(shè)計一個基于GUI的客戶-服務(wù)器的通信應(yīng)用程序,如圖1,圖2所示。圖1Socket通信服務(wù)器端界面圖2Socket通信客戶端界面2.圖1為Socket通信服務(wù)器端界面,點擊該界面中的【 Start】按鈕,啟動服務(wù)器監(jiān)聽服務(wù)(在圖 1界面中間的多行文本區(qū)域顯示“ Serverstarting ?”字樣)。圖2為Socket通信客戶端界面,點擊該界面中的【 Connect】按鈕與服務(wù)器建立鏈接,并在圖 2所示界面中間的多行文本區(qū)域顯示“ Connecttoserver?”字樣,當(dāng)服務(wù)器端監(jiān)聽到客戶端的連接后,在圖 1界面中間的多行文本區(qū)域追加一行“Client connected?”字樣,并與客戶端建立 Socket連接。當(dāng)圖1所示的服務(wù)器端和圖2所示的客戶機(jī)端建立Socket連接后,編程實現(xiàn)這兩端的數(shù)據(jù)通信,每次將接收到對方的數(shù)據(jù)追加顯示在多行文本框中。三、思考題對整個實驗進(jìn)行總結(jié),寫出實驗心得。在完成上述實驗內(nèi)容的基礎(chǔ)上,嘗試實現(xiàn)服務(wù)器端能夠與多個客戶機(jī)進(jìn)行通信。三、使用硬件、軟件環(huán)境PC計算機(jī)一臺,配置為 CPU為1.5G,內(nèi)存為512M,硬盤為40G,安裝WindowsXP操作系統(tǒng)。另外,使用 JCreator,等軟件四、實驗過程、步驟及原始記錄(算法、原程序、測試結(jié)果,分析等)①分別編寫兩個文件;這兩個代碼的結(jié)構(gòu)十分相似,都是先寫一個主類,再寫另一個實現(xiàn)類,主類通過創(chuàng)建實現(xiàn)類的對象來調(diào)用其構(gòu)造方法來實現(xiàn)功能。實現(xiàn)類中寫了很多方法,也寫了很多內(nèi)部類,方法層層調(diào)用。實現(xiàn)類在構(gòu)造方法中寫了調(diào)用了實現(xiàn)GUI的函數(shù),也為按鈕注冊了監(jiān)聽器。在不同的內(nèi)部類中寫了不同監(jiān)聽器所調(diào)用的actioPerformed()方法。②在服務(wù)器中創(chuàng)建ServerSocket對象來接受客戶端的連接請求,并指定端口號,客戶端通過Socket對象來向服務(wù)器的ip和端口發(fā)送連接請求。服務(wù)器在接到連接請求后,服務(wù)器會創(chuàng)建一個新的Socket對象與客戶端的Socket對象連接。連接成功后通過IO流來通信,服務(wù)器的輸入流是客戶端的輸出流,服務(wù)器的輸出流時客戶端的輸入流。服務(wù)器代碼如下:import.*;import.*;import.*;import.*;import.*;publicclassServer{publicstaticvoidmain(String[]args){MyFrameserve=newMyFrame();(true);(false);

;import.*;import.*;import.*;import.*;importclassClient{publicstaticvoidmain(String[]args){MyFrameclient=newMyFrame();(true);(false); ..\n");..\n"portNum=());

//

讀取

port

文本框中的字符串,并將字符串轉(zhuǎn)化為整型賦給

portNumsocket=newSocket(),portNum);// 定義對象socket,并指定主機(jī)號(host)和端口號 portNumClientThreadct=newClientThread(); // 定義一個 ClientThread 類的對象ct(); // 啟動一個線程,并調(diào)用ClientThread 類中的run()方法}catch(Exceptionex){}}}classSayListenimplementsActionListener{Stringstr;publicvoidactionPerformed(ActionEvente){try{PrintWriterout=newPrintWriter(newBufferedWriter(newOutputStreamWriter())),true);

//

socket

獲取字節(jié)輸出流,并將其最終轉(zhuǎn)化為PrintWriterstr=();

//

從文本框中獲取字符串賦給

strif(!()){(newDate()+"\n"+str); //

打印日期和

str(newDate()+"\nme:"+str+"\n");();

//

清空緩存區(qū)}("");}catch(Exceptionex){}}}classClientThreadextendsThread{publicvoidrun(){try{BufferedReaderin=newBufferedReader(newInputStreamReader()));// 獲取socket 對象的字節(jié)輸入流,并將字節(jié)流最終轉(zhuǎn)換為緩沖字符輸入流Stringstr;while(true){str=();

//

按行讀取//("\a");

//

喇叭響一聲(str+"\n"); // 延長字符串}}catch(Exceptionex){}}}}測試結(jié)果:五、實驗結(jié)論、分析、思考題與心得體會①第一次寫這個程序的時候我用的數(shù)據(jù)報通信 DatagramSocket和DatagramPacket來寫,結(jié)果發(fā)現(xiàn)是UDP通信,發(fā)送一個消息只有等到對方回復(fù)后才能發(fā)送第二個消息,十分不方便。后來用Socket和ServerSocket 來

溫馨提示

  • 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

提交評論