




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
面向對象程序設計實驗指導書-2023級合用專業:計算機科學與技術、網絡工程、
信息與計算科學蘇波€實驗一使用面向對象程序設計語言,編寫
簡樸的程序本實驗4學時.實驗目的熟悉編程環境,熟悉標準庫,編制簡樸程序.實驗環境與條件JDK1.6,NetBeansSystem.out.printInf'Name:");Stringname=aScanner.nextO;returnname;)publicstaticStringinputUserPasswordO{SeanneraSeanner=newScanner(System.in);System.out.println("Password:");Stringpassword=aScanner.next();returnpassword;)publicstaticvoidmain(String[]args){Stringname=inputUserName();Stringpassword=inputUserPassword();if(check(name,password))System.out.printlnf'CheckOK");elseSystem.out.println("Wrongnameorpassword");實驗三類與對象本實驗4學時1、實驗目的:類與對象、數據成員、成員函數、構造函數2、實驗環境與條件:JDK1.6,Netbeans3、實驗內容:編寫程序:驗證用戶名字和口令.使用Java.具體內容:編寫一個用戶接口對象,提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口令.在main。由用戶接口對象提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口令.然后,由身份驗證對象驗證用戶姓名和口令是否與預先設定的用戶姓名和口令一致,并告知用戶驗證結果.附錄A:類與對象的基本使用示例publicclassLogin{privateStringname;privateSeanneraScanner;privateString_name;publicLogin(){name=newString();_name="SHE";aScanner=newSeanner(System.in);)publieLogin(StringaName){name=newString();_name=aName;aScanner=newSeanner(System,in);)publicvoidcheck(){if((_name.equals(name)))System.out.printIn("OK");elseSystem.out.println("Error");)pubIicstaticvoidmain(String[]args){LoginaLogin=newLogin();LoginanotherLogin=newLogin("AAA");aLogin.inputName();aLogin.check();anotherLogin.inputName();anotherLogin.check();)publicvoidinputName(){System.out.printIn("Name:");name=aScanner.nextO;)}實驗四文獻流本實驗4學時1、實驗目的:文獻流的基本操作2、實驗環境與條件:。JDK1.6,Netbeans3、實驗內容:編寫一個身份驗證對象,驗證用戶名字和口令是否對的.規定用戶的名字和口令來自于一個配置文獻(純文本文獻格式).編寫一個用戶接口對象,提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口令.在main()由用戶接口對象提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口令.然后,由身份驗證對象驗證用戶姓名和口令是否與配置文獻的用戶姓名和口令一致,并告知用戶驗證結果.配置文獻的具體格式示例如下:用戶名1:口令1選做的實驗內容:編寫一個用戶接口對象,提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口令.在main。由用戶接口對象提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口令.然后,由身份驗證對象驗證用戶姓名和口令是否與配置文獻的用戶姓名和口令一致,并告知用戶驗證結果.。在上述過程中,使用字符串流解決類java.io.Reader,java.io.Writer解決utf-8文獻.規定配置文獻中保存多個用戶名和口令,可以使用任意一對(用戶名,口令)都可以登錄成功.提醒,使用字符串分割.配置文獻的具體格式示例如下:用戶名1:口令1用戶名2:口令2用戶名3:口令3用戶名4:口令4用戶名5:口令5用戶名6:口令6附錄:一個文獻讀寫的示例publicclassFileDemo{*@paramargsthecommandIineargumentsVFiIeDemofileDemoReadWrite=newFileDemo();fiIeDemoReadWrite.fileCreate();fiIeDemoReadWrite.fileWrite();fileDemoReadWrite.fileRead();)StringfileName="demofiIe.txt";FilelnputStreamfileinput=null;privateFileOutputStreamfiIeOutput;publicvoidfileCreateO{FilefiIe=newFile(this.fileName);if(file.exists()!=true){try(file.createNewFile();System.out.println(this.fileName+"Created!");}catch(lOExceptionex){Logger.getLogger(FileDemo.class.getName()).1og(Level.SEVERE,nuII,ex);}else{fiIe.delete();publicvoidfileRead(){try(fileInput=newFilelnputStream(fileName);BufferedReaderfiIeReader=newBufferedReader(newInputStreamReader(fiIeInput,"utf8"));while(fileReader.readyO){Stringcontent=fileReader.readLine();System.out.println(content);)}catch(lOExceptionex){Logger.getLogger(FileDemo.class.getName()).log(Level.SEVERE,nuII,ex);}finalIy{try(filelnput.close();}catch(IOExceptionex){Logger.getLogger(FileDemo.class.getName()).Iog(LeveI.SEVERE,null,ex);)))pubIicvoidfiIeWrite(){try{fileOutput=newFiIeOutputStream(fiIeName);fileOutput.write("java:simpIecomplexlanguage\n".getBytes("utf8"));fileOutput.write("java:簡樸復合語言\n".getBytes("utf8"));}catch(IOExceptionex){Logger.getLogger(FileDemo.cIass.getName()),Iog(Level.SEVERE,null,ex);}finally{try{fileOutput.close();}catch(lOExceptionex){Logger.getLogger(FileDemo.class.getName()),log(LeveI.SEVERE,null,ex);)}實驗五。具體類與繼承、訪問控制本實驗4學時1、實驗目的:運用繼承,實現程序功能的擴充,字符串和文獻流的基本操作2、實驗環境與條件:。JDK1.6,Netbeans3、實驗內容:編寫程序:在前一個實驗的基礎上完畢。增長:一個具有修改口令功能的身份驗證對象。口令規定保存到文獻中。驗證用戶名字和口令:編寫一個身份驗證對象,驗證用戶名字和口令是否對的.在此基礎上,運用類繼承,編寫一個運用配置文獻的身份驗證對象,規定用戶的名字和口令來自于一個配置文獻(純文本文獻格式).編寫一個用戶接口對象,提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口在main()由用戶接口對象提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口3.實驗內容和環節編寫一個輸出heII。,Worid的Java程序,然后進行編譯,運營。.2編寫程序詢問用戶姓名,然后向用戶問好.實驗程序示例注意:實驗程序不允許和實驗示例完全一致。pubIicclasshello{pubIicstaticvoidmain(String[]args){java.util.ScanneraScanner=newjava.util.Scanner(System.in);System,out.print("Name:");Stringname=aScanner.next();System.out.println("Hello"+name+*'!PIeaseInputYourAge");System.out.print("Age:");intaNum=aScanner.nextint();if(aNum<l2)System.out.println("Hello,Kid");eIseif(aNum<18)System.out.printlnC'Hello,Howaboutyoustudy?n);elseif(aNum<60)System.out.println("Youhavetoworkhard."令.然后,由身份驗證對象驗證用戶姓名和口令是否與配置文獻的用戶姓名和口令一致,并告知用戶驗證結果重新運營程序,可以使用用戶ID和新的口令通過驗證。一些也許有用的提醒:可以使用構造函數中從文獻中讀出口令。選做的內容:在此基礎上,提供一個用“加密”的方式保存口令的身份驗證類。最簡樸的“加密”的方法可以使用按位異或實現。算法如下:假設口令為Passw。rd,x是一個密鑰,使用按位異或方式進行加密和解密。在C++中用人表達按位異或操作。加密:PasswordAx=Passwordx解密:PasswordxAx=Password實驗六多態性和異常解決本實驗4學時1、實驗目的:學習使用虛函數實現多態性。通過編寫、調試程序理解異常的產生和解決。2、實驗環境與條件:JDK1.6,Netbeans3、實驗內容:。設計一個身份驗證接口Auth,用于驗證用戶名字和口令是否對的.編寫一個運用配置文獻的身份驗證類Authl,具有用戶名和口令驗證功能.規定用戶的名字和口令來自于一個配置文獻(純文本文獻格式).配置文獻格式為:姓名1:密碼】姓名2:密碼2編寫另一個運用配置文獻的身份驗證類Auth2,具有用戶名和口令驗證功能.規定用戶的名字和口令來自于一個配置文獻(純文本文獻格式).配置文獻格式為:姓名1密碼1姓名2密碼2在main()中創建用戶姓名和口令輸入對象,提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口令.然后,分別創建兩種類型的身份認證對象,以驗證用戶姓名和口令是否與配置文獻的用戶姓名和口令一致,運用一個專門的函數告知用戶驗證結果.voidechoResult(AuthaAuth,Stringname,Stringpassword){if(aAuth,check(name,password))System.out.printIn("OK");eIseSystem.out.printIn("Error");)異常解決在派生類的構造函數中增長異常解決。例如:當保存密碼的文獻不存在時,產生異常。eIseSystem.out.println("AreyoustiIIworking?");}}把上面的程序保存為heIIo.java使用命令javachello.java編譯hello.java,得到java可執行程序hello,class使用命令javahello執行,得到數據顯示結果如下:Name:Dan.HeIIoDan!PleaseInputYourAgeAge:25Youhavetoworkhard.程序說明:.在netbeans中直接執行上面的程序時會發現語句System.out.print("Name:");并不立即輸出出來,而是在輸入了名字如Dan后才一齊輸出出來,這是集成開發環境的系統的標準輸出緩存導致的..newjava.utiLScanner(System.in)產生了一個java.utiI.Scanner對象,由于產生這個對象時用System.in作為參數,這個Scanner對象會掃描系統的標準輸入.java.util.ScanneraSeanner定義了一個java.util.Seanner?類型的名字叫做aScanner.這里的Scanner類型在java.util包里面.java.utiI.ScanneraSeanner=newjava.utiLScanner(System.in);中的=的作用是讓為產生出來的這一個Scanner類型的對象,起一個名字叫做aSeanner.aScanner.next()會把用戶輸入的數據作為一個字符串讀入.Stringname是定義一個String(字符串)類型的變量名字name語句Stringname=aSeanner.next();是把用戶輸入的字符串用變量name代表.aScanner.nextlnt()會把用戶輸入的數據作為一個整數(int類型)讀入.intaNum是定義一個int(整數)類型的變量名字aNum語句intaNum=aScanner.nextInt();是把用戶輸入的整數賦值給變量aNum附錄A:JDK的安裝(在實驗室的計算機里面,JDK和NetBeans已經安裝好,但是沒有為操作系統配置到JDK的途徑,參考環節3)(-)安裝JDK本節下面假設使用的是JDK是JavaSE6Update24版(JavaDevelopmentKitStandardEdition6Update24)。可以根據實際情況選擇最新版本的JDK,并把本節下面示例中的24換成實際的數值,假如使用Java7,那么需要把本節下面示例中的6換成7。第一步,下載JDK訪問JDK的下載頁面。下載網址根據提醒選擇運營平臺(操作系統和CPU的類型,例如:windows操作系統,i586兼容類型的CPU)和語言(事實上只能選多國語言),并且必須批準JavaSEDevelopmentKit版權協議后,就開始下載JDK安裝程序。第二步,運營JDK安裝程序對于windows操作系統直接運營jdk—6u24-windows-i586-p.exe對于Linux操作系統打開Linux的終端(控制臺),通常是選擇:應用程序->附件一>終端。執行命令:chmod+xjdk-6u24-linux-i586.bin把jdk-6u24—linux-i586.bin的屬性改為可執行。然后運營JDK安裝程序s./jdk—6u24—1inux-i586.bin然后根據提醒進行安裝即可。第三步,設立JAVA_HOME環境變量和PATH環境變量環境變量的作用是讓操作系統知道一些軟件設立信息.,例如軟件的安裝途徑。環境變量PATH是操作系統尋找可執行程序的途徑序列。操作系統根據環境變量PATH的值(用:或者;分隔的多個目錄途徑),查找要執行的命令(可執行文獻)。對于windows操作系統環境變量位置windows7:選擇開始->控制面板,系統和安全->系統->高級系統設立->環境變量windowsXP:選擇開始一>控制面板->系統->高級。環境變量windows2023:選擇開始,設立一>控制面板,系統一>高級?>環境變量設立JAVA_HOME環境變量增長一個新的環境變量,名稱為JAVA_HOME,值為JDK安裝到的目錄途徑。JDK安裝到的目錄途徑的類似于C:\ProgramFiles\Java\jdk1.6.0_24。提醒:該途徑中有bin和jre子目錄。設立PATH環境變量把JDK安裝到的目錄途徑中的bin目錄的途徑追加在PATH變量的后面。在PATH環境變量中,各個目錄途徑之間用英文的分號;進行分隔,向PATH環境變量追加的新的目錄途徑的方法為,在已有的PATH的位的后面,增長英文分號;和途徑,例如:增長目錄途徑為3:C:\ProgramFilesUava\jdk1.6.0_24\bin提醒:這個目錄途徑中有名稱為java和javac的程序。保存后,注銷并重新登錄Windows。對于Linux操作系統這里假設是使用bashshell的Linux,使用其它she11的Linux與此類似。在Linux的終端中執行命令cd到用戶的主目錄,使用nano,或者vi,或者gedit修改用戶配置文獻.bash_profiIe(假如姑ubuntuLinux是.profile)o在.ba$h_profile(或者.profi1c)文獻末尾追加三行命令:4AVA_HOME=$HOME(jdk1.6.0_24ecxportJAVA_HOMEPATH=$JAVA_HOME/bin:"S{PATH}"保存后,注銷并重新登錄Linux。第四步,測試安裝和配置JDK是否成功檢查Java虛擬機的版本。執行java-version,應當看到Java虛擬機的信息。看到Java版本與安裝的JDK的版本一致,表達安裝配置.Java虛擬機/Java編譯器成功,否則表達安裝或者配置有問題,需要重新安裝或者重新配置(通常是沒有配置好PATH環境變量導致的錯誤)。檢查Java編譯器的版本。Java編譯器的名稱是javac。執行javac-version應當看到Java編譯器的信息。看到顯示的Java版本與安裝的JDK的版本一致,表達安裝配置Java虛擬機/Java編譯器成功,否則表達安裝或者配置有問題,需要重新安裝或者重新配置(通常是沒有配置好PATH環境變量導致的錯誤)。附錄B:Java程序設計的基本環節示例編寫并執行第一個java程序的具體過程(―)編寫Java源程序.使用文本編輯器windows的記事本,Unix/Linux的gedit文本編輯器或者vi/emacs(假如你會用它們)(注意:word/Office等圖文混排工具不可以).用文本編輯器編寫源程序如下:publicclasshello{publicstaticvoidm
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 阿法拉伐離心脫水機培訓
- 餐具采購合同范本
- 施工合同安全責任書二零二五年
- 學生接送安全協議書
- 國際運輸貨物保險合同的基本條款
- 二零二五版司機安全協議書
- 行政協議行政合同
- 民宅設計合同范本
- 二零二五版二人合伙經營飯店的協議書
- 二零二五聘用技術人員協議書
- 2025中國建材集團有限公司招聘14人筆試參考題庫附帶答案詳解
- 2024年初級會計實務考試真題及答案(5套)
- 2025年學校食堂防火應急演練工作實施方案
- 2025屆廣東省高三第一次調研考試語文試題講評課件
- 2025年4月自考00152組織行為學押題及答案
- 2025【英文合同】授權代理合同英文范本
- 山東省名校聯盟2024-2025學年高一3月校際聯考英語試題(原卷版+解析版)
- 數據庫應用技術-第三次形考作業(第10章~第11章)-國開-參考資料
- 湖南2025屆新高考教學教研聯盟(長郡二十校)高三第二次預熱演練數學試題(含答案)
- 元朝的建立與統一課件 2024-2025學年統編版七年級歷史下冊
- 8個事故案例13個警示視頻文字完善篇(礦山局迎檢資料)
評論
0/150
提交評論