版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書(shū)-2023級(jí)合用專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)、網(wǎng)絡(luò)工程、
信息與計(jì)算科學(xué)蘇波€實(shí)驗(yàn)一使用面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,編寫(xiě)
簡(jiǎn)樸的程序本實(shí)驗(yàn)4學(xué)時(shí).實(shí)驗(yàn)?zāi)康氖煜ぞ幊汰h(huán)境,熟悉標(biāo)準(zhǔn)庫(kù),編制簡(jiǎn)樸程序.實(shí)驗(yàn)環(huán)境與條件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");實(shí)驗(yàn)三類與對(duì)象本實(shí)驗(yàn)4學(xué)時(shí)1、實(shí)驗(yàn)?zāi)康模侯惻c對(duì)象、數(shù)據(jù)成員、成員函數(shù)、構(gòu)造函數(shù)2、實(shí)驗(yàn)環(huán)境與條件:JDK1.6,Netbeans3、實(shí)驗(yàn)內(nèi)容:編寫(xiě)程序:驗(yàn)證用戶名字和口令.使用Java.具體內(nèi)容:編寫(xiě)一個(gè)用戶接口對(duì)象,提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口令.在main。由用戶接口對(duì)象提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口令.然后,由身份驗(yàn)證對(duì)象驗(yàn)證用戶姓名和口令是否與預(yù)先設(shè)定的用戶姓名和口令一致,并告知用戶驗(yàn)證結(jié)果.附錄A:類與對(duì)象的基本使用示例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;)}實(shí)驗(yàn)四文獻(xiàn)流本實(shí)驗(yàn)4學(xué)時(shí)1、實(shí)驗(yàn)?zāi)康模何墨I(xiàn)流的基本操作2、實(shí)驗(yàn)環(huán)境與條件:。JDK1.6,Netbeans3、實(shí)驗(yàn)內(nèi)容:編寫(xiě)一個(gè)身份驗(yàn)證對(duì)象,驗(yàn)證用戶名字和口令是否對(duì)的.規(guī)定用戶的名字和口令來(lái)自于一個(gè)配置文獻(xiàn)(純文本文獻(xiàn)格式).編寫(xiě)一個(gè)用戶接口對(duì)象,提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口令.在main()由用戶接口對(duì)象提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口令.然后,由身份驗(yàn)證對(duì)象驗(yàn)證用戶姓名和口令是否與配置文獻(xiàn)的用戶姓名和口令一致,并告知用戶驗(yàn)證結(jié)果.配置文獻(xiàn)的具體格式示例如下:用戶名1:口令1選做的實(shí)驗(yàn)內(nèi)容:編寫(xiě)一個(gè)用戶接口對(duì)象,提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口令.在main。由用戶接口對(duì)象提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口令.然后,由身份驗(yàn)證對(duì)象驗(yàn)證用戶姓名和口令是否與配置文獻(xiàn)的用戶姓名和口令一致,并告知用戶驗(yàn)證結(jié)果.。在上述過(guò)程中,使用字符串流解決類java.io.Reader,java.io.Writer解決utf-8文獻(xiàn).規(guī)定配置文獻(xiàn)中保存多個(gè)用戶名和口令,可以使用任意一對(duì)(用戶名,口令)都可以登錄成功.提醒,使用字符串分割.配置文獻(xiàn)的具體格式示例如下:用戶名1:口令1用戶名2:口令2用戶名3:口令3用戶名4:口令4用戶名5:口令5用戶名6:口令6附錄:一個(gè)文獻(xiàn)讀寫(xiě)的示例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:簡(jiǎn)樸復(fù)合語(yǔ)言\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);)}實(shí)驗(yàn)五。具體類與繼承、訪問(wèn)控制本實(shí)驗(yàn)4學(xué)時(shí)1、實(shí)驗(yàn)?zāi)康模哼\(yùn)用繼承,實(shí)現(xiàn)程序功能的擴(kuò)充,字符串和文獻(xiàn)流的基本操作2、實(shí)驗(yàn)環(huán)境與條件:。JDK1.6,Netbeans3、實(shí)驗(yàn)內(nèi)容:編寫(xiě)程序:在前一個(gè)實(shí)驗(yàn)的基礎(chǔ)上完畢。增長(zhǎng):一個(gè)具有修改口令功能的身份驗(yàn)證對(duì)象??诹钜?guī)定保存到文獻(xiàn)中。驗(yàn)證用戶名字和口令:編寫(xiě)一個(gè)身份驗(yàn)證對(duì)象,驗(yàn)證用戶名字和口令是否對(duì)的.在此基礎(chǔ)上,運(yùn)用類繼承,編寫(xiě)一個(gè)運(yùn)用配置文獻(xiàn)的身份驗(yàn)證對(duì)象,規(guī)定用戶的名字和口令來(lái)自于一個(gè)配置文獻(xiàn)(純文本文獻(xiàn)格式).編寫(xiě)一個(gè)用戶接口對(duì)象,提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口在main()由用戶接口對(duì)象提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口3.實(shí)驗(yàn)內(nèi)容和環(huán)節(jié)編寫(xiě)一個(gè)輸出heII。,Worid的Java程序,然后進(jìn)行編譯,運(yùn)營(yíng)。.2編寫(xiě)程序詢問(wèn)用戶姓名,然后向用戶問(wèn)好.實(shí)驗(yàn)程序示例注意:實(shí)驗(yàn)程序不允許和實(shí)驗(yàn)示例完全一致。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."令.然后,由身份驗(yàn)證對(duì)象驗(yàn)證用戶姓名和口令是否與配置文獻(xiàn)的用戶姓名和口令一致,并告知用戶驗(yàn)證結(jié)果重新運(yùn)營(yíng)程序,可以使用用戶ID和新的口令通過(guò)驗(yàn)證。一些也許有用的提醒:可以使用構(gòu)造函數(shù)中從文獻(xiàn)中讀出口令。選做的內(nèi)容:在此基礎(chǔ)上,提供一個(gè)用“加密”的方式保存口令的身份驗(yàn)證類。最簡(jiǎn)樸的“加密”的方法可以使用按位異或?qū)崿F(xiàn)。算法如下:假設(shè)口令為Passw。rd,x是一個(gè)密鑰,使用按位異或方式進(jìn)行加密和解密。在C++中用人表達(dá)按位異或操作。加密:PasswordAx=Passwordx解密:PasswordxAx=Password實(shí)驗(yàn)六多態(tài)性和異常解決本實(shí)驗(yàn)4學(xué)時(shí)1、實(shí)驗(yàn)?zāi)康模簩W(xué)習(xí)使用虛函數(shù)實(shí)現(xiàn)多態(tài)性。通過(guò)編寫(xiě)、調(diào)試程序理解異常的產(chǎn)生和解決。2、實(shí)驗(yàn)環(huán)境與條件:JDK1.6,Netbeans3、實(shí)驗(yàn)內(nèi)容:。設(shè)計(jì)一個(gè)身份驗(yàn)證接口Auth,用于驗(yàn)證用戶名字和口令是否對(duì)的.編寫(xiě)一個(gè)運(yùn)用配置文獻(xiàn)的身份驗(yàn)證類Authl,具有用戶名和口令驗(yàn)證功能.規(guī)定用戶的名字和口令來(lái)自于一個(gè)配置文獻(xiàn)(純文本文獻(xiàn)格式).配置文獻(xiàn)格式為:姓名1:密碼】姓名2:密碼2編寫(xiě)另一個(gè)運(yùn)用配置文獻(xiàn)的身份驗(yàn)證類Auth2,具有用戶名和口令驗(yàn)證功能.規(guī)定用戶的名字和口令來(lái)自于一個(gè)配置文獻(xiàn)(純文本文獻(xiàn)格式).配置文獻(xiàn)格式為:姓名1密碼1姓名2密碼2在main()中創(chuàng)建用戶姓名和口令輸入對(duì)象,提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口令.然后,分別創(chuàng)建兩種類型的身份認(rèn)證對(duì)象,以驗(yàn)證用戶姓名和口令是否與配置文獻(xiàn)的用戶姓名和口令一致,運(yùn)用一個(gè)專門(mén)的函數(shù)告知用戶驗(yàn)證結(jié)果.voidechoResult(AuthaAuth,Stringname,Stringpassword){if(aAuth,check(name,password))System.out.printIn("OK");eIseSystem.out.printIn("Error");)異常解決在派生類的構(gòu)造函數(shù)中增長(zhǎng)異常解決。例如:當(dāng)保存密碼的文獻(xiàn)不存在時(shí),產(chǎn)生異常。eIseSystem.out.println("AreyoustiIIworking?");}}把上面的程序保存為heIIo.java使用命令javachello.java編譯hello.java,得到j(luò)ava可執(zhí)行程序hello,class使用命令javahello執(zhí)行,得到數(shù)據(jù)顯示結(jié)果如下:Name:Dan.HeIIoDan!PleaseInputYourAgeAge:25Youhavetoworkhard.程序說(shuō)明:.在netbeans中直接執(zhí)行上面的程序時(shí)會(huì)發(fā)現(xiàn)語(yǔ)句System.out.print("Name:");并不立即輸出出來(lái),而是在輸入了名字如Dan后才一齊輸出出來(lái),這是集成開(kāi)發(fā)環(huán)境的系統(tǒng)的標(biāo)準(zhǔn)輸出緩存導(dǎo)致的..newjava.utiLScanner(System.in)產(chǎn)生了一個(gè)java.utiI.Scanner對(duì)象,由于產(chǎn)生這個(gè)對(duì)象時(shí)用System.in作為參數(shù),這個(gè)Scanner對(duì)象會(huì)掃描系統(tǒng)的標(biāo)準(zhǔn)輸入.java.util.ScanneraSeanner定義了一個(gè)java.util.Seanner?類型的名字叫做aScanner.這里的Scanner類型在java.util包里面.java.utiI.ScanneraSeanner=newjava.utiLScanner(System.in);中的=的作用是讓為產(chǎn)生出來(lái)的這一個(gè)Scanner類型的對(duì)象,起一個(gè)名字叫做aSeanner.aScanner.next()會(huì)把用戶輸入的數(shù)據(jù)作為一個(gè)字符串讀入.Stringname是定義一個(gè)String(字符串)類型的變量名字name語(yǔ)句Stringname=aSeanner.next();是把用戶輸入的字符串用變量name代表.aScanner.nextlnt()會(huì)把用戶輸入的數(shù)據(jù)作為一個(gè)整數(shù)(int類型)讀入.intaNum是定義一個(gè)int(整數(shù))類型的變量名字aNum語(yǔ)句intaNum=aScanner.nextInt();是把用戶輸入的整數(shù)賦值給變量aNum附錄A:JDK的安裝(在實(shí)驗(yàn)室的計(jì)算機(jī)里面,JDK和NetBeans已經(jīng)安裝好,但是沒(méi)有為操作系統(tǒng)配置到JDK的途徑,參考環(huán)節(jié)3)(-)安裝JDK本節(jié)下面假設(shè)使用的是JDK是JavaSE6Update24版(JavaDevelopmentKitStandardEdition6Update24)??梢愿鶕?jù)實(shí)際情況選擇最新版本的JDK,并把本節(jié)下面示例中的24換成實(shí)際的數(shù)值,假如使用Java7,那么需要把本節(jié)下面示例中的6換成7。第一步,下載JDK訪問(wèn)JDK的下載頁(yè)面。下載網(wǎng)址根據(jù)提醒選擇運(yùn)營(yíng)平臺(tái)(操作系統(tǒng)和CPU的類型,例如:windows操作系統(tǒng),i586兼容類型的CPU)和語(yǔ)言(事實(shí)上只能選多國(guó)語(yǔ)言),并且必須批準(zhǔn)JavaSEDevelopmentKit版權(quán)協(xié)議后,就開(kāi)始下載JDK安裝程序。第二步,運(yùn)營(yíng)JDK安裝程序?qū)τ趙indows操作系統(tǒng)直接運(yùn)營(yíng)jdk—6u24-windows-i586-p.exe對(duì)于Linux操作系統(tǒng)打開(kāi)Linux的終端(控制臺(tái)),通常是選擇:應(yīng)用程序->附件一>終端。執(zhí)行命令:chmod+xjdk-6u24-linux-i586.bin把jdk-6u24—linux-i586.bin的屬性改為可執(zhí)行。然后運(yùn)營(yíng)JDK安裝程序s./jdk—6u24—1inux-i586.bin然后根據(jù)提醒進(jìn)行安裝即可。第三步,設(shè)立JAVA_HOME環(huán)境變量和PATH環(huán)境變量環(huán)境變量的作用是讓操作系統(tǒng)知道一些軟件設(shè)立信息.,例如軟件的安裝途徑。環(huán)境變量PATH是操作系統(tǒng)尋找可執(zhí)行程序的途徑序列。操作系統(tǒng)根據(jù)環(huán)境變量PATH的值(用:或者;分隔的多個(gè)目錄途徑),查找要執(zhí)行的命令(可執(zhí)行文獻(xiàn))。對(duì)于windows操作系統(tǒng)環(huán)境變量位置windows7:選擇開(kāi)始->控制面板,系統(tǒng)和安全->系統(tǒng)->高級(jí)系統(tǒng)設(shè)立->環(huán)境變量windowsXP:選擇開(kāi)始一>控制面板->系統(tǒng)->高級(jí)。環(huán)境變量windows2023:選擇開(kāi)始,設(shè)立一>控制面板,系統(tǒng)一>高級(jí)?>環(huán)境變量設(shè)立JAVA_HOME環(huán)境變量增長(zhǎng)一個(gè)新的環(huán)境變量,名稱為JAVA_HOME,值為JDK安裝到的目錄途徑。JDK安裝到的目錄途徑的類似于C:\ProgramFiles\Java\jdk1.6.0_24。提醒:該途徑中有bin和jre子目錄。設(shè)立PATH環(huán)境變量把JDK安裝到的目錄途徑中的bin目錄的途徑追加在PATH變量的后面。在PATH環(huán)境變量中,各個(gè)目錄途徑之間用英文的分號(hào);進(jìn)行分隔,向PATH環(huán)境變量追加的新的目錄途徑的方法為,在已有的PATH的位的后面,增長(zhǎng)英文分號(hào);和途徑,例如:增長(zhǎng)目錄途徑為3:C:\ProgramFilesUava\jdk1.6.0_24\bin提醒:這個(gè)目錄途徑中有名稱為java和javac的程序。保存后,注銷并重新登錄Windows。對(duì)于Linux操作系統(tǒng)這里假設(shè)是使用bashshell的Linux,使用其它she11的Linux與此類似。在Linux的終端中執(zhí)行命令cd到用戶的主目錄,使用nano,或者vi,或者gedit修改用戶配置文獻(xiàn).bash_profiIe(假如姑ubuntuLinux是.profile)o在.ba$h_profile(或者.profi1c)文獻(xiàn)末尾追加三行命令:4AVA_HOME=$HOME(jdk1.6.0_24ecxportJAVA_HOMEPATH=$JAVA_HOME/bin:"S{PATH}"保存后,注銷并重新登錄Linux。第四步,測(cè)試安裝和配置JDK是否成功檢查Java虛擬機(jī)的版本。執(zhí)行java-version,應(yīng)當(dāng)看到Java虛擬機(jī)的信息。看到Java版本與安裝的JDK的版本一致,表達(dá)安裝配置.Java虛擬機(jī)/Java編譯器成功,否則表達(dá)安裝或者配置有問(wèn)題,需要重新安裝或者重新配置(通常是沒(méi)有配置好PATH環(huán)境變量導(dǎo)致的錯(cuò)誤)。檢查Java編譯器的版本。Java編譯器的名稱是javac。執(zhí)行javac-version應(yīng)當(dāng)看到Java編譯器的信息。看到顯示的Java版本與安裝的JDK的版本一致,表達(dá)安裝配置Java虛擬機(jī)/Java編譯器成功,否則表達(dá)安裝或者配置有問(wèn)題,需要重新安裝或者重新配置(通常是沒(méi)有配置好PATH環(huán)境變量導(dǎo)致的錯(cuò)誤)。附錄B:Java程序設(shè)計(jì)的基本環(huán)節(jié)示例編寫(xiě)并執(zhí)行第一個(gè)java程序的具體過(guò)程(―)編寫(xiě)Java源程序.使用文本編輯器windows的記事本,Unix/Linux的gedit文本編輯器或者vi/emacs(假如你會(huì)用它們)(注意:word/Office等圖文混排工具不可以).用文本編輯器編寫(xiě)源程序如下:publicclasshello{publicstaticvoidm
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 變更合同條款模板
- 北京機(jī)動(dòng)車抵押合同模板
- 服裝售后服務(wù)情景演練
- 統(tǒng)編版2024-2025學(xué)年四年級(jí)語(yǔ)文上學(xué)期第三次月考質(zhì)量檢測(cè)(原卷版+ 解析版 考查范圍:第五六單元)
- 顱腦外傷急救治療方法
- 糖尿病的常用藥物
- 環(huán)境應(yīng)急預(yù)案匯報(bào)
- 預(yù)防傳染病和艾滋病
- 電氣機(jī)械及器材行業(yè)相關(guān)投資計(jì)劃提議范本
- 【初中地理】世界主要?dú)夂蝾愋偷谝徽n時(shí)-2024-2025學(xué)年七年級(jí)地理上學(xué)期(湘教版2024)
- GB/T 10001.8-2023公共信息圖形符號(hào)第8部分:行為指示符號(hào)
- 胸外科術(shù)后鎮(zhèn)痛
- 醫(yī)院陪護(hù)中心運(yùn)營(yíng)方案
- 給機(jī)關(guān)領(lǐng)導(dǎo)送禮檢討書(shū)三篇
- (新版)貨幣鑒定師理論考試復(fù)習(xí)總題庫(kù)-上(單選600題)
- 第九課-雞蛋四塊一斤課件
- 大學(xué)英語(yǔ)四級(jí)真題閱讀練習(xí)10套(附參考答案)
- 國(guó)家慢性腎病臨床醫(yī)學(xué)研究中心
- 金屬材料的塑性變形
- 2023年漢字聽(tīng)寫(xiě)大會(huì)漢字聽(tīng)寫(xiě)知識(shí)競(jìng)賽題庫(kù)及答案(共三套)
- 碼垛機(jī)械手結(jié)構(gòu)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論