2023年面向?qū)ο蟪绦蛟O(shè)計實驗指導(dǎo)書資料_第1頁
2023年面向?qū)ο蟪绦蛟O(shè)計實驗指導(dǎo)書資料_第2頁
2023年面向?qū)ο蟪绦蛟O(shè)計實驗指導(dǎo)書資料_第3頁
2023年面向?qū)ο蟪绦蛟O(shè)計實驗指導(dǎo)書資料_第4頁
2023年面向?qū)ο蟪绦蛟O(shè)計實驗指導(dǎo)書資料_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

面向?qū)ο蟪绦蛟O(shè)計實驗指導(dǎo)書

??2023級

合用專業(yè):計算機科學(xué)與技術(shù)、網(wǎng)絡(luò)工程、

信息與計算科學(xué)

蘇波

實驗一使用面向?qū)ο蟪绦蛟O(shè)計語言,編寫

簡樸的程序

本實驗4學(xué)時

1.實驗?zāi)康?/p>

熟悉編程環(huán)境,熟悉標準庫,編制簡樸程序

2.實驗環(huán)境與條件

JDK1.6,NetBeans

3.實驗內(nèi)容和環(huán)節(jié)

3.1編寫一個輸出heII。,World的Java程序,然后進行編譯,運營。

3.2編寫程序詢問用戶姓名,然后向用戶問好

4.實驗程序示例

注意:實驗程序不允許和實驗示例完全一致。

pubIicclasshello{

pubIicstaticvoidmain(String[]args){

java.util.ScanneraScanner=newjava.util.Scanner(Systern.in);

System.out.print("Name:");

Stringname=aScanner.next();

System.out.println("Hello"+name+"!PIeaseInputYourAg

e");

System.out.print("Age:*');

intaNum=aScanner.nextlnt();

if(aNum<l2)

System.out.println("Hello,Kid");

eIseif(aNum<18)

System.out.println("Hello,Howaboutyoustudy?n);

elseif(aNum<60)

System.out.println("Youhavetoworkhard.");

eIse

System.out.printlnCAreyoustiIIworking?");

}

}

把上面的程序保存為heIIo.java

使用命令javacheIIo.java編譯helIo.java,得至!!java可執(zhí)行程序hello,class

使用命令javahello執(zhí)行,得到數(shù)據(jù)顯示結(jié)果如下:

Name:Dan.

HeIIoDan!PleaseInputYourAge

Age:25

Youhavetoworkhard.

程序說明:

1.在netbeans中直接執(zhí)行上面的程序時會發(fā)現(xiàn)語句System.out.prin1("Nam

e:“);并不立即輸出出來,而是在輸入了名字如Dan后才一齊輸出出來,這是集成開發(fā)環(huán)境

的系統(tǒng)的標準輸出緩存導(dǎo)致的.

2.newjava.utiLScanner(System.in)產(chǎn)生了一個java.utiI.Scanne

r對象,由于產(chǎn)生這個對象時用System.in作為參數(shù),這個Scanner對象會掃描系

統(tǒng)的標準輸入.

java.util.ScanneraSeanner定義了一^java.util.Seanner類型的名字叫做

aScanner.

這里的Scanner類型在java.util包里面.

語句java.utiI.SeanneraSeanner=newjava.utiLScanner(System.in);中的

=的作用是讓為產(chǎn)生出來的這一個Scanner類型的對象,起一個名字叫做aScanner

3.aScanner.next()會把用戶輸入的數(shù)據(jù)作為一個字符串讀入.

Stringname是定義一個String(字符串)類型的變量名字name

語句Stringname=aSeanner.next();是把用戶輸入的字符串用變量name

代表

4.aScanner.nextlnt()會把用戶輸入的數(shù)據(jù)作為一個整數(shù)(int類型)讀入.

intaNum是定義一個int(整數(shù))類型的變量名字aNum

語句intaNum=aScanner.nextInt();是把用戶輸入的整數(shù)賦值給變量aNum

附錄A:JDK的安裝

(在實驗室的計算機里面,JDK和NetBeans已經(jīng)安裝好,但是沒有為操作系統(tǒng)配置到

JDK的途徑,參考環(huán)節(jié)3)

(-)安裝JDK

本節(jié)下面假設(shè)使用的是JDK是JavaSE6Update24版(JavaDevelopmentKitStandard

Edition6Update24)。可以根據(jù)實際情況選擇最新版本的JDK,并把本節(jié)下面示例中的24換成實際

的數(shù)值,假如使用Java7,那么需要把本節(jié)下面示例中的6換成7。

第一步,下載JDK

訪問JDK的下載頁面。

下載網(wǎng)址

根據(jù)提醒選擇運營平臺(操作系統(tǒng)和CPU的類型,例如:windows操作系統(tǒng),i586兼容類型的CPU)

和語言(事實上只能選多國語言),并且必須批準JavaSEDevelopmentKit版權(quán)協(xié)議后,就開

始下載JDK安裝程序。

第二步,運營JDK安裝程序

?對于windows操作系統(tǒng)

直接運營jdk—6u24-windows-i586-p.exe

?對于Linux操作系統(tǒng)

打開Linux的終端(控制臺),通常是選擇:應(yīng)用程序->附件一>終端。執(zhí)行命令:

chmod+xjdk-6u24-linux-i586.bin

把jdk-6u24-1inux-i586.bin的屬性改為可執(zhí)行。然后運營JDK安裝程序

。./jdk—6u24—1inux-i586.bin

然后根據(jù)提醒進行安裝即可。

第三步,設(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的值(用:或者;分隔的多個目錄途徑),查

找要執(zhí)行的命令(可執(zhí)行文獻)。

?對于windows操作系統(tǒng)

環(huán)境變量位置

windows7:選擇開始->控制面板,系統(tǒng)和安全,系統(tǒng),高級系統(tǒng)設(shè)立->環(huán)境變量

windowsXP:選擇開始一>控制面板->系統(tǒng)->高級,環(huán)境變量

.windows2023:選擇開始->設(shè)立一>控制面板->系統(tǒng)一>高級->環(huán)境變量

設(shè)立JAVA_HOME環(huán)境變量

增長一個新的環(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)境變量中,各

個目錄途徑之間用英文的分號;進行分隔,向PATH環(huán)境變量追加的新的目錄途徑的方法為,在已有的PATH

的值的后面,增長英文分號;和途徑,例如:增長目錄途徑為

s;C:\ProgramFilesUava\jdk1.6.0_24\bin

提醒:這個目錄途徑中有名稱為java和javac的程序。

保存后,注銷并重新登錄Windowso

?對于Linux操作系統(tǒng)

這里假設(shè)是使用bashshell的Linux,使用其它she1I的Linux與此類似。

在Linux的終端中執(zhí)行命令

cd

到用戶的主目錄,使用nano,或者vi,或者gedit修改用戶配置文獻.bash_profile(假如是ubuntu

Linux是.profile)o在.bash_profile(或者.profi1e)文獻末尾追加三行命令:

oJAVA_HOME=$HOME/jdkl.6.0_24

oexportJAVA_HOME

oPATH=$JAVA_HOME/bin:"${PATH}”

保存后,注銷并重新登錄Linux。

第四步,測試安裝和配置JDK是否成功

檢查Java虛擬機的版本。執(zhí)行

java-version

。應(yīng)當(dāng)看到Java虛擬機的信息??吹絁ava版本與安裝的JDK的版本一致,表達安裝配置Java虛擬

機/Java編譯器成功,否則表達安裝或者配置有問題,需要重新安裝或者重新配置(通常是沒有配置好PAT

H環(huán)境變量導(dǎo)致的錯誤)。

檢查Java編譯器的版本。Java編譯器的名稱是javac。執(zhí)行

。javac-version

應(yīng)當(dāng)看到Java編譯器的信息。看到顯示的Java版本與安裝的JDK的版本一致,表達安裝配置Ja

va虛擬機/Java編譯器成功,否則表達安裝或者配置有問題,需要重新安裝或者重新配置(通常是沒有配

置好PATH環(huán)境變量導(dǎo)致的錯誤)。

附錄B:Java程序設(shè)計的基本環(huán)節(jié)示例

編寫并執(zhí)行第一個java程序的具體過程

(―)編寫Java源程序.

使用文本編輯器

windows的記事本,Unix/Linux的gedit文本編輯器或者vi/emacs(假如你會

用它們)

(注意:word/Office等圖文混排工具不可以).

用文本編輯器編寫源程序如下:

publicclasshello{

publicstaticvoidmain(String[]args){

System.out.printIn("世界,你好!");

}

把上面的源程序存為文獻hello.java

注意:必須使用這個文獻名.由于文獻的名稱必須和文獻內(nèi)的類(class)的名稱保持一致,

并且增長.java為文獻名的后綴.

(二)編譯

把源程序翻譯為Java可執(zhí)行程序.

打開控制臺界面,到保存hello.java文獻的目錄,執(zhí)行下面的命令

javachelloJava

假如產(chǎn)生了一個新的文獻hello.class,那么編譯成功.

假如沒有產(chǎn)生了一個新的文獻heIlo.class,那么編譯失敗,通常是源程序中有語法錯

誤.

(三)執(zhí)行

在java,class的目錄,事實上就是當(dāng)前的目錄不用變化,執(zhí)行下面的命令:

javahelIo

將得到程序的執(zhí)行結(jié)果顯示如下:

世界,你好!

假如得到上面的結(jié)果,那么慶祝你的第一個java程序執(zhí)行成功!

假如沒有得到上面的結(jié)果,那么參考以前的環(huán)節(jié),看看哪個環(huán)節(jié)錯了。

實驗二基本語句和函數(shù)

本實驗4學(xué)時

1、實驗?zāi)康?

練習(xí)函數(shù)的參數(shù)、返回值和對象名字(引用)。

2、實驗環(huán)境與條件:

JDK1.6,Netbeans

3、實驗內(nèi)容:

編寫程序:驗證用戶名字和口令.使用Java.

具體內(nèi)容:

在main。提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口令.由身份驗證函

數(shù)驗證用戶姓名和口令是否與預(yù)先設(shè)定的用戶姓名和口令一致,并告知用戶驗證結(jié)果.

提醒:

Java中的函數(shù)必須在類里面定義.

附錄A:Java編寫的用戶名口令檢測函數(shù)示例

importjava.util.Seanner;

pubIiccIassMain{

publicstaticbooleancheck(Stringname,Stringpassword){

if(("Dan".equals(name))&&("123456”.equals(password)))

returntrue;

else

returnfalse;

}

publicstaticStringinputUserName(){

ScanneraScanner=newSeanner(System.in);

Systern.out.printIn("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.println("CheckOKn);

else

System.out.println("Wrongnameorpassword");

}

}

實驗三類與對象

本實驗4學(xué)時

1、實驗?zāi)康模?/p>

類與對象、數(shù)據(jù)成員、成員函數(shù)、構(gòu)造函數(shù)

2、實驗環(huán)境與條件:

JDK1.6,Netbeans

3、實驗內(nèi)容:

編寫程序:驗證用戶名字和口令.使用Java.

具體內(nèi)容:

編寫一個用戶接口對象,提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口令.

在main。由用戶接口對象提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口令.

然后,由身份驗證對象驗證用戶姓名和口令是否與預(yù)先設(shè)定的用戶姓名和口令一致,并告

知用戶驗證結(jié)果.

附錄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");

else

System.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學(xué)時

1、實驗?zāi)康模?/p>

文獻流的基本操作

2、實驗環(huán)境與條件:

?JDK1.6,Netbeans

3、實驗內(nèi)容:

編寫一個身份驗證對象,驗證用戶名字和口令是否對的.規(guī)定用戶的名字和口令來自于

一個配置文獻(純文本文獻格式).

編寫一個用戶接口對象,提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口

令.

在main()由用戶接口對象提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口

令.然后,由身份驗證對象驗證用戶姓名和口令是否與配置文獻的用戶姓名和口令一致,并

告知用戶驗證結(jié)果.

配置文獻的具體格式示例如下:

用戶名1:口令1

選做的實驗內(nèi)容:

編寫一個用戶接口對象,提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口令.

在main()由用戶接口對象提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口

令.然后,由身份驗證對象驗證用戶姓名和口令是否與配置文獻的用戶姓名和口令一致,并

告知用戶驗證結(jié)果.

。在上述過程中,使用字符串流解決類java.io.Reader,java.io.Writer解決utf-8

文獻.

規(guī)定配置文獻中保存多個用戶名和口令,可以使用任意一對(用戶名,口令)都可以登錄成

功.提醒,使用字符串分割.

配置文獻的具體格式示例如下:

用戶名1:口令1

用戶名2:口令2

用戶名3:口令3

用戶名4:口令4

用戶名5:口令5

用戶名6:口令6

附錄:一個文獻讀寫的示例

publicclassFileDemo{

/**

*@paramargsthecommandIinearguments

V

pubIicstaticvoidmain(String[]args){

FiIeDemofileDemoReadWrite=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

(LeveLSEVERE,null,ex);

}

}else{

fiIe.delete();

}

}

publicvoidfileRead(){

try(

fileInput=newFilelnputStream(fileName);

BufferedReaderfiIeReader=newBufferedReader(new

InputStreamReader(fiIeInput,"utf8"));

whiIe(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);

}

}

}

pubIicvoidfileWrite(){

try{

fileOutput=newFiIeOutputStream(fiIeName);

fileOutput.write("java:simpIecomplexlanguag

e\n".getBytes("utf8"));

fileOutput.write("java:簡樸復(fù)合語言\n".getBytes

("utf8"));

}catch(IOExceptionex){

Logger.getLogger(FileDemo.cIass.getName()).Iog(Lev

el.SEVERE,null,ex);

}finally{

try(

fileOutput.close();

}catch(IOExceptionex){

Logger.getLogger(FileDemo.class.getName()).log(L

eveI.SEVERE,null,ex);

)

}

}

}

實驗五,具體類與繼承、訪問控制

本實驗4學(xué)時

1、實驗?zāi)康模?/p>

運用繼承,實現(xiàn)程序功能的擴充,字符串和文獻流的基本操作

2、實驗環(huán)境與條件:

。JDK1.6,Netbeans

3、實驗內(nèi)容:

編寫程序:

在前一個實驗的基礎(chǔ)上完畢。增長:一個具有修改口令功能的身份驗證對象。口令規(guī)定保存

到文獻中。

驗證用戶名字和口令:

編寫一個身份驗證對象,驗證用戶名字和口令是否對的.在此基礎(chǔ)上,運用類繼承,編寫一

個運用配置文獻的身份驗證對象,規(guī)定用戶的名字和口令來自

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論