版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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)書
??2023級(jí)
合用專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)、網(wǎng)絡(luò)工程、
信息與計(jì)算科學(xué)
蘇波
實(shí)驗(yàn)一使用面向?qū)ο蟪绦蛟O(shè)計(jì)語言,編寫
簡(jiǎn)樸的程序
本實(shí)驗(yàn)4學(xué)時(shí)
1.實(shí)驗(yàn)?zāi)康?/p>
熟悉編程環(huán)境,熟悉標(biāo)準(zhǔn)庫,編制簡(jiǎn)樸程序
2.實(shí)驗(yàn)環(huán)境與條件
JDK1.6,NetBeans
3.實(shí)驗(yàn)內(nèi)容和環(huán)節(jié)
3.1編寫一個(gè)輸出heII。,World的Java程序,然后進(jìn)行編譯,運(yùn)營。
3.2編寫程序詢問用戶姓名,然后向用戶問好
4.實(shí)驗(yàn)程序示例
注意:實(shí)驗(yàn)程序不允許和實(shí)驗(yàn)示例完全一致。
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í)行上面的程序時(shí)會(huì)發(fā)現(xiàn)語句System.out.prin1("Nam
e:“);并不立即輸出出來,而是在輸入了名字如Dan后才一齊輸出出來,這是集成開發(fā)環(huán)境
的系統(tǒng)的標(biāo)準(zhǔn)輸出緩存導(dǎo)致的.
2.newjava.utiLScanner(System.in)產(chǎn)生了一個(gè)java.utiI.Scanne
r對(duì)象,由于產(chǎn)生這個(gè)對(duì)象時(shí)用System.in作為參數(shù),這個(gè)Scanner對(duì)象會(huì)掃描系
統(tǒng)的標(biāo)準(zhǔn)輸入.
java.util.ScanneraSeanner定義了一^java.util.Seanner類型的名字叫做
aScanner.
這里的Scanner類型在java.util包里面.
語句java.utiI.SeanneraSeanner=newjava.utiLScanner(System.in);中的
=的作用是讓為產(chǎn)生出來的這一個(gè)Scanner類型的對(duì)象,起一個(gè)名字叫做aScanner
3.aScanner.next()會(huì)把用戶輸入的數(shù)據(jù)作為一個(gè)字符串讀入.
Stringname是定義一個(gè)String(字符串)類型的變量名字name
語句Stringname=aSeanner.next();是把用戶輸入的字符串用變量name
代表
4.aScanner.nextlnt()會(huì)把用戶輸入的數(shù)據(jù)作為一個(gè)整數(shù)(int類型)讀入.
intaNum是定義一個(gè)int(整數(shù))類型的變量名字aNum
語句intaNum=aScanner.nextInt();是把用戶輸入的整數(shù)賦值給變量aNum
附錄A:JDK的安裝
(在實(shí)驗(yàn)室的計(jì)算機(jī)里面,JDK和NetBeans已經(jīng)安裝好,但是沒有為操作系統(tǒng)配置到
JDK的途徑,參考環(huán)節(jié)3)
(-)安裝JDK
本節(jié)下面假設(shè)使用的是JDK是JavaSE6Update24版(JavaDevelopmentKitStandard
Edition6Update24)??梢愿鶕?jù)實(shí)際情況選擇最新版本的JDK,并把本節(jié)下面示例中的24換成實(shí)際
的數(shù)值,假如使用Java7,那么需要把本節(jié)下面示例中的6換成7。
第一步,下載JDK
訪問JDK的下載頁面。
下載網(wǎng)址
根據(jù)提醒選擇運(yùn)營平臺(tái)(操作系統(tǒng)和CPU的類型,例如:windows操作系統(tǒng),i586兼容類型的CPU)
和語言(事實(shí)上只能選多國語言),并且必須批準(zhǔn)JavaSEDevelopmentKit版權(quán)協(xié)議后,就開
始下載JDK安裝程序。
第二步,運(yùn)營JDK安裝程序
?對(duì)于windows操作系統(tǒng)
直接運(yùn)營jdk—6u24-windows-i586-p.exe
?對(duì)于Linux操作系統(tǒng)
打開Linux的終端(控制臺(tái)),通常是選擇:應(yīng)用程序->附件一>終端。執(zhí)行命令:
chmod+xjdk-6u24-linux-i586.bin
把jdk-6u24-1inux-i586.bin的屬性改為可執(zhí)行。然后運(yùn)營JDK安裝程序
。./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:選擇開始->控制面板,系統(tǒng)和安全,系統(tǒng),高級(jí)系統(tǒng)設(shè)立->環(huán)境變量
windowsXP:選擇開始一>控制面板->系統(tǒng)->高級(jí),環(huán)境變量
.windows2023:選擇開始->設(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)目錄途徑為
s;C:\ProgramFilesUava\jdk1.6.0_24\bin
提醒:這個(gè)目錄途徑中有名稱為java和javac的程序。
保存后,注銷并重新登錄Windowso
?對(duì)于Linux操作系統(tǒng)
這里假設(shè)是使用bashshell的Linux,使用其它she1I的Linux與此類似。
在Linux的終端中執(zhí)行命令
cd
到用戶的主目錄,使用nano,或者vi,或者gedit修改用戶配置文獻(xiàn).bash_profile(假如是ubuntu
Linux是.profile)o在.bash_profile(或者.profi1e)文獻(xiàn)末尾追加三行命令:
oJAVA_HOME=$HOME/jdkl.6.0_24
oexportJAVA_HOME
oPATH=$JAVA_HOME/bin:"${PATH}”
保存后,注銷并重新登錄Linux。
第四步,測(cè)試安裝和配置JDK是否成功
檢查Java虛擬機(jī)的版本。執(zhí)行
java-version
。應(yīng)當(dāng)看到Java虛擬機(jī)的信息??吹絁ava版本與安裝的JDK的版本一致,表達(dá)安裝配置Java虛擬
機(jī)/Java編譯器成功,否則表達(dá)安裝或者配置有問題,需要重新安裝或者重新配置(通常是沒有配置好PAT
H環(huán)境變量導(dǎo)致的錯(cuò)誤)。
檢查Java編譯器的版本。Java編譯器的名稱是javac。執(zhí)行
。javac-version
應(yīng)當(dāng)看到Java編譯器的信息。看到顯示的Java版本與安裝的JDK的版本一致,表達(dá)安裝配置Ja
va虛擬機(jī)/Java編譯器成功,否則表達(dá)安裝或者配置有問題,需要重新安裝或者重新配置(通常是沒有配
置好PATH環(huán)境變量導(dǎo)致的錯(cuò)誤)。
附錄B:Java程序設(shè)計(jì)的基本環(huán)節(jié)示例
編寫并執(zhí)行第一個(gè)java程序的具體過程
(―)編寫Java源程序.
使用文本編輯器
windows的記事本,Unix/Linux的gedit文本編輯器或者vi/emacs(假如你會(huì)
用它們)
(注意:word/Office等圖文混排工具不可以).
用文本編輯器編寫源程序如下:
publicclasshello{
publicstaticvoidmain(String[]args){
System.out.printIn("世界,你好!");
}
把上面的源程序存為文獻(xiàn)hello.java
注意:必須使用這個(gè)文獻(xiàn)名.由于文獻(xiàn)的名稱必須和文獻(xiàn)內(nèi)的類(class)的名稱保持一致,
并且增長(zhǎng).java為文獻(xiàn)名的后綴.
(二)編譯
把源程序翻譯為Java可執(zhí)行程序.
打開控制臺(tái)界面,到保存hello.java文獻(xiàn)的目錄,執(zhí)行下面的命令
javachelloJava
假如產(chǎn)生了一個(gè)新的文獻(xiàn)hello.class,那么編譯成功.
假如沒有產(chǎn)生了一個(gè)新的文獻(xiàn)heIlo.class,那么編譯失敗,通常是源程序中有語法錯(cuò)
誤.
(三)執(zhí)行
在java,class的目錄,事實(shí)上就是當(dāng)前的目錄不用變化,執(zhí)行下面的命令:
javahelIo
將得到程序的執(zhí)行結(jié)果顯示如下:
世界,你好!
假如得到上面的結(jié)果,那么慶祝你的第一個(gè)java程序執(zhí)行成功!
假如沒有得到上面的結(jié)果,那么參考以前的環(huán)節(jié),看看哪個(gè)環(huán)節(jié)錯(cuò)了。
實(shí)驗(yàn)二基本語句和函數(shù)
本實(shí)驗(yàn)4學(xué)時(shí)
1、實(shí)驗(yàn)?zāi)康?
練習(xí)函數(shù)的參數(shù)、返回值和對(duì)象名字(引用)。
2、實(shí)驗(yàn)環(huán)境與條件:
JDK1.6,Netbeans
3、實(shí)驗(yàn)內(nèi)容:
編寫程序:驗(yàn)證用戶名字和口令.使用Java.
具體內(nèi)容:
在main。提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口令.由身份驗(yàn)證函
數(shù)驗(yàn)證用戶姓名和口令是否與預(yù)先設(shè)定的用戶姓名和口令一致,并告知用戶驗(yàn)證結(jié)果.
提醒:
Java中的函數(shù)必須在類里面定義.
附錄A:Java編寫的用戶名口令檢測(cè)函數(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");
}
}
實(shí)驗(yàn)三類與對(duì)象
本實(shí)驗(yàn)4學(xué)時(shí)
1、實(shí)驗(yàn)?zāi)康模?/p>
類與對(duì)象、數(shù)據(jù)成員、成員函數(shù)、構(gòu)造函數(shù)
2、實(shí)驗(yàn)環(huán)境與條件:
JDK1.6,Netbeans
3、實(shí)驗(yàn)內(nèi)容:
編寫程序:驗(yàn)證用戶名字和口令.使用Java.
具體內(nèi)容:
編寫一個(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");
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;
}
)
實(shí)驗(yàn)四文獻(xiàn)流
本實(shí)驗(yàn)4學(xué)時(shí)
1、實(shí)驗(yàn)?zāi)康模?/p>
文獻(xiàn)流的基本操作
2、實(shí)驗(yàn)環(huán)境與條件:
?JDK1.6,Netbeans
3、實(shí)驗(yàn)內(nèi)容:
編寫一個(gè)身份驗(yàn)證對(duì)象,驗(yàn)證用戶名字和口令是否對(duì)的.規(guī)定用戶的名字和口令來自于
一個(gè)配置文獻(xiàn)(純文本文獻(xiàn)格式).
編寫一個(gè)用戶接口對(duì)象,提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口
令.
在main()由用戶接口對(duì)象提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口
令.然后,由身份驗(yàn)證對(duì)象驗(yàn)證用戶姓名和口令是否與配置文獻(xiàn)的用戶姓名和口令一致,并
告知用戶驗(yàn)證結(jié)果.
配置文獻(xiàn)的具體格式示例如下:
用戶名1:口令1
選做的實(shí)驗(yàn)內(nèi)容:
編寫一個(gè)用戶接口對(duì)象,提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口令.
在main()由用戶接口對(duì)象提醒用戶輸入用戶姓名和口令,并讀入用戶輸入的姓名和口
令.然后,由身份驗(yàn)證對(duì)象驗(yàn)證用戶姓名和口令是否與配置文獻(xiàn)的用戶姓名和口令一致,并
告知用戶驗(yàn)證結(jié)果.
。在上述過程中,使用字符串流解決類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)讀寫的示例
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:簡(jiǎn)樸復(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);
)
}
}
}
實(shí)驗(yàn)五,具體類與繼承、訪問控制
本實(shí)驗(yàn)4學(xué)時(shí)
1、實(shí)驗(yàn)?zāi)康模?/p>
運(yùn)用繼承,實(shí)現(xiàn)程序功能的擴(kuò)充,字符串和文獻(xiàn)流的基本操作
2、實(shí)驗(yàn)環(huán)境與條件:
。JDK1.6,Netbeans
3、實(shí)驗(yàn)內(nèi)容:
編寫程序:
在前一個(gè)實(shí)驗(yàn)的基礎(chǔ)上完畢。增長(zhǎng):一個(gè)具有修改口令功能的身份驗(yàn)證對(duì)象。口令規(guī)定保存
到文獻(xiàn)中。
驗(yàn)證用戶名字和口令:
編寫一個(gè)身份驗(yàn)證對(duì)象,驗(yàn)證用戶名字和口令是否對(duì)的.在此基礎(chǔ)上,運(yùn)用類繼承,編寫一
個(gè)運(yùn)用配置文獻(xiàn)的身份驗(yàn)證對(duì)象,規(guī)定用戶的名字和口令來自
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度奶茶店員工保密協(xié)議與知識(shí)產(chǎn)權(quán)保護(hù)合同4篇
- 2025年度個(gè)人房屋裝修貸款合同模板10篇
- 2025年度摩托車駕駛培訓(xùn)學(xué)校合作辦學(xué)合同4篇
- 2025年度城市臨時(shí)商業(yè)區(qū)搭建與經(jīng)營管理合同4篇
- 二零二五年度智慧交通工程款代付合作協(xié)議4篇
- 數(shù)字化轉(zhuǎn)型路徑-第1篇-深度研究
- 2025年度個(gè)人住宅陽臺(tái)防水改造合同范本6篇
- 二零二五年度船舶動(dòng)力電池份額轉(zhuǎn)讓與市場(chǎng)推廣協(xié)議3篇
- 2025年度模具加工與全球供應(yīng)鏈優(yōu)化合同4篇
- 2025年度電梯設(shè)備租賃與售后服務(wù)合同4篇
- 數(shù)學(xué)-山東省2025年1月濟(jì)南市高三期末學(xué)習(xí)質(zhì)量檢測(cè)濟(jì)南期末試題和答案
- 中儲(chǔ)糧黑龍江分公司社招2025年學(xué)習(xí)資料
- 湖南省長(zhǎng)沙市2024-2025學(xué)年高一數(shù)學(xué)上學(xué)期期末考試試卷
- 船舶行業(yè)維修保養(yǎng)合同
- 2024年林地使用權(quán)轉(zhuǎn)讓協(xié)議書
- 物流有限公司安全生產(chǎn)專項(xiàng)整治三年行動(dòng)實(shí)施方案全國安全生產(chǎn)專項(xiàng)整治三年行動(dòng)計(jì)劃
- 2025屆江蘇省13市高三最后一卷生物試卷含解析
- 當(dāng)前中國個(gè)人極端暴力犯罪個(gè)案研究
- 中國象棋比賽規(guī)則
- 7天減肥餐食譜給你最能瘦的一周減肥食譜
- GB/T 31525-2015圖形標(biāo)志電動(dòng)汽車充換電設(shè)施標(biāo)志
評(píng)論
0/150
提交評(píng)論