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

付費下載

下載本文檔

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

文檔簡介

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

Win2000/XP

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

A,它位于包

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

B,它位于包

b中,保存到中。在類

B中實例化類

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

A和類

B。三、使用硬件、軟件環(huán)境PC計算機一臺,配置為CPU為1.5G,內(nèi)存為512M,硬盤為40G,安裝WindowsXP操作系統(tǒng)。另外,使用 JCreator,等軟件四、實驗過程、步驟及原始記錄 (算法、原程序、測試結果,分析等 )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!");}}② 在命令行中進入到該文件路徑,并輸入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即可完成。五、實驗結論、分析、思考題與心得體會通過本次實驗,我有以下幾方面的收獲、認識和體會:1、學會了在記事本和命令行 ,JCreator, 等環(huán)境下編寫程序及運行程序的方法;2、學會了如何安裝 JDK,以及如何配置 %JAVA_HOME%,path,classpath 等環(huán)境變量3、加深了Java中相關語法的認識:① 文件名必須與 public 類的類名相同,并且一個文件中只允許有一個

public

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

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

)利用類的繼承寫一個

point2D

類,其子類是

point3D

。子類

Point3D

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

Point2D

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論