h=h/n;
} class Student {
} public class TestFile {
static String ToString(float a,float b,float c){
} public static void main(String args[])throws Exception { File f=new File(”F:Student.txt“);String data[]=new String[30];Student s[]=new Student[30];BufferedReader in=new BufferedReader(new InputStreamReader(new FileInputStream(f)));for(int i=0;i<30;i++)
{ data[i]=in.readLine();// System.out.println(data[i]);return ”最高分為“+a+”
最低分為“+b+”
平均分為“+c+”rn“;String name;String zhuanye;String banji;float
chenji;Student(String name,String zhuanye,String banji,float chenji){
} public String toString(){
} return ”姓名:“+this.name+”
專業(yè):“+this.zhuanye+”
班級:“+this.banji+”
成績: this.name=name;this.zhuanye=zhuanye;this.banji=banji;this.chenji=chenji;
return h;}
“+this.chenji;
} in.close();for(int i=0;i<30;i++)
{ StringTokenizer st=new StringTokenizer(data[i]);
//
System.out.println(st.countTokens());
s[i]=new
} int m=0,n=0,q=0;float data1[]=new float[20];float data2[]=new float[20];float data3[]=new float[20];for(int i=0;i<30;i++){
} System.out.println(”班級01班的最高分:“+data1[MaxMinClass.maxint(data1,n)]);System.out.println(”班級01班的最低分:“+data1[MaxMinClass.minint(data1,n)]);System.out.println(”班級01班的平均分:“+MaxMinClass.average(data1, n));System.out.println(”班級02班的最高分:“+data2[MaxMinClass.maxint(data2,m)]);System.out.println(”班級02班的最低分:“+data2[MaxMinClass.minint(data2,m)]);System.out.println(”班級02班的平均分:“+MaxMinClass.average(data2, m));System.out.println(”班級03班的最高分:“+data3[MaxMinClass.maxint(data3,q)]);System.out.println(”班級03班的最低分:“+data3[MaxMinClass.minint(data3,q)]);System.out.println(”班級03班的平均分:“+MaxMinClass.average(data3, q));if(s[i].banji.equalsIgnoreCase(”01“)){
} if(s[i].banji.equalsIgnoreCase(”02“)){
} if(s[i].banji.equalsIgnoreCase(”03“)){
} data3[q]=s[i].chenji;q++;data2[m]=s[i].chenji;m++;data1[n]=s[i].chenji;n++;
System.out.println(s[i]);Student(st.nextToken(),st.nextToken(),st.nextToken(),Integer.parseInt(st.nextToken()));
} FileOutputStream fos=new FileOutputStream(”F:StudentTj.txt“);BufferedOutputStream bos=new BufferedOutputStream(fos);bos.write(”班級01班:“.getBytes());String sa=ToString(data1[MaxMinClass.maxint(data1,n)],data1[MaxMinClass.minint bos.write(sa.getBytes());
bos.write(”班級02班:“.getBytes());String sa1=ToString(data2[MaxMinClass.maxint(data2,m)],data2[MaxMinClass.minint bos.write(sa1.getBytes());
bos.write(”班級03班:".getBytes());String sa2=ToString(data3[MaxMinClass.maxint(data3,q)],data3[MaxMinClass.minint bos.write(sa2.getBytes());bos.close();}(data1,n)],MaxMinClass.average(data1, n));(data2,m)],MaxMinClass.average(data2, m));(data3,q)],MaxMinClass.average(data3, q));
1、實驗一:多線程程序設(shè)計:炮打飛機
實驗?zāi)康模簩W(xué)會使用多線程進行并發(fā)程序設(shè)計
實驗內(nèi)容:編寫一個應(yīng)用程序模擬大炮打飛機。在GUI界面上,飛機水平飛行,用界面上的按鈕控制大炮的運行方向(如向左,向右,向上,向下)。當(dāng)炮彈碰著飛機后,飛機墜落。
2、實驗二:數(shù)據(jù)庫編程:書目信息管理
實驗?zāi)康模赫莆諗?shù)據(jù)庫編程技術(shù)。能正確連接數(shù)據(jù)庫,能對數(shù)據(jù)庫中信息進行查詢、插
入、刪除、修改。
實驗內(nèi)容:在數(shù)據(jù)庫中創(chuàng)建一張書目信息表,包括書名、作者、出版社、出版日期、書
號、價格字段。設(shè)計一個GUI界面進行書目管理。在該界面上有四個選項卡,分別是查詢、插入、刪除、修改。點擊查詢選項卡,出現(xiàn)的界面上有書名、作者、出版社、書號四個文本框,一個按鈕和一個只讀文本區(qū)。文本框內(nèi)容可以為空,輸入相應(yīng)的查詢信息后(例如根據(jù)書名查詢可以僅輸入書名),點擊界面上的“查詢”按鈕,可以在界面下方的文本區(qū)中顯示出符合條件的書目詳細信息。點擊插入選項卡,出現(xiàn)的界面上有書名、作者、出版社、出版日期、書號、價格文本框,一個按鈕。在文本框中輸入信息后,點擊“插入”按鈕,該書目信息插入數(shù)據(jù)庫表中。點擊刪除選項卡,出現(xiàn)的界面上有書名文本框和一個按鈕,輸入書名后點擊“刪除”按鈕,該書目信息從數(shù)據(jù)庫表中刪除。點擊修改選項卡,出現(xiàn)的界面上有書名、作者、出版社、出版日期、書號、價格文本框,一個按鈕。輸入的書名必須是已存在的,否則會彈出消息框顯示出錯信息。輸入信息后,點擊“修改”按鈕,數(shù)據(jù)庫表中的相應(yīng)書目信息被修改為新值。
3、實驗三:Applet編程:鴨子的移動
實驗?zāi)康模赫莆誂pplet程序設(shè)計的方法,學(xué)會在Applet中繪制圖片,能采用雙緩沖技術(shù)進行圖片繪制,會在Applet中采用多線程進行動畫顯示。能在Applet中實現(xiàn)動畫的平滑顯示,避免閃爍現(xiàn)象。
實驗內(nèi)容:在Applet窗口中顯示一只鴨子圖片,要求這只鴨子以每秒100幀的速率水平移動,移到窗口邊界再返回移動。在窗口中點擊鼠標(biāo),鴨子停止移動;再次點擊鼠標(biāo),鴨子恢復(fù)移動。
4、實驗四:網(wǎng)絡(luò)編程:聊天室的實現(xiàn)
實驗?zāi)康模簳帉懣蛻舳撕头?wù)器程序?qū)崿F(xiàn)C/S模式下的通信,會使用多線程進行網(wǎng)絡(luò)編程。
實驗內(nèi)容:編寫一個聊天室程序:客戶端界面請自行設(shè)計,可使其具有個性化特征; 可在實現(xiàn)基本的聊天室功能的基礎(chǔ)上添加個性化的功能。
實驗
一、簡單Java程序設(shè)計
一、實驗?zāi)康?/p>
1. 學(xué)習(xí)使用JCreator開發(fā)JAVA代碼。
2. 了解JAVA的運行環(huán)境,掌握開發(fā)JAVA代碼所需要的相關(guān)配置。3. 在JCreator中輸入習(xí)題程序,驗證程序的正確性,熟悉開發(fā)環(huán)境。
二、實驗內(nèi)容
1. 設(shè)置實驗環(huán)境
a.安裝JDK,下載JDK包以后,按安裝向?qū)У奶崾疽来伟惭b,可直接安裝在C盤根目錄下。
b.更新環(huán)境變量:
2. 編寫程序:由鍵盤輸入兩個字符串“12”與“24”,將它們轉(zhuǎn)換成整數(shù),然后計算并輸出這兩個數(shù)的和。
3. 編寫程序:由鍵盤輸入給出一個百分制成績,要求輸出成績等級’A’、’B’、’C’和’D’,90分以上為’A’,75~89為’B’,60~74為’C’,60分以下為’D’。
4. 編一程序,求一個10項所組成的等差數(shù)列,其奇數(shù)項之和為135,偶數(shù)項之和為150。5. 用for語句輸出下列數(shù)字金字塔:
1 3 1 1 3 5 3 1 3 5 7 5 3 1 1 3 5 7 9 7 5 3 1 6. 編寫程序:由鍵盤輸入一正整數(shù),求出小于且等于這個數(shù)的所有質(zhì)數(shù)。實驗
二、基本數(shù)據(jù)類型和數(shù)組
一、實驗?zāi)康?/p>
1.進一步熟悉JCreator開發(fā)JAVA代碼。
2.了解數(shù)組的使用與JAVA中對字符串的主要操作。
3.在JCreator中輸入習(xí)題程序,驗證程序的正確性,熟悉開發(fā)環(huán)境。
二、實驗內(nèi)容
1.編寫程序:由鍵盤輸入一整數(shù),求出該數(shù)所有的因子,如輸入6,則輸出的6的所有因子為1、2、3、6。
2假設(shè)有一條鋼材長2000米,每天截取其中的一半,編一程序求出多少天后,鋼材的長度開始短于5米?
3編寫程序:利用數(shù)列4?(1?13?15?17?19?111??)來取得?的近似值。并計算在得到3.14159之前,這個數(shù)列要取到第幾項?
4使用java.long.Math類,生成10個0~99之間的隨機整數(shù),求出它們中的最大值和最小值。
提示:java.long.Math類支持random方法:Math.Random()。該方法返回值是正數(shù),類型為double,范圍為0~1。如果要得到其它范圍的數(shù),則要進行相應(yīng)的轉(zhuǎn)換。例如要得到(a,b)之間的整數(shù)的方法是:(int)((b-a+1)*Math.random()+a)。若要得到(0,99)之間的整數(shù)可以使用下列語句:
int m =(int)(100*Math.random());5編寫程序:聲明一數(shù)組來存放12個月的英文名稱,由用戶從鍵盤輸入月份,如輸入8,則程序輸出相應(yīng)的月份名稱:August。同時請大家考慮若是用戶輸入了1~12以外的內(nèi)容,你的程序?qū)⑷绾螒?yīng)對?
6編寫程序:由鍵盤輸入一16位的長整數(shù),統(tǒng)計0~9這十個數(shù)字每一個出現(xiàn)的次數(shù)。7編寫程序:將兩個各有6個整數(shù)的數(shù)組,合并成一個由小至大排列的數(shù)組(該數(shù)組的長度為12)。8編寫程序:以遞歸的方式實現(xiàn)1+2+3+??+n(n = 200)的計算。
實驗
三、類與對象
一、實驗?zāi)康?/p>
1.進一步熟悉JCreator開發(fā)JAVA代碼。2.了解類和對象之間的關(guān)系。
3.在JCreator中聲明一個類,其中有多個構(gòu)造方法。用不同的構(gòu)造方法創(chuàng)建對象。
二、實驗內(nèi)容 聲明一個矩形類Rectangle,其中有多個構(gòu)造方法。用不同的構(gòu)造方法創(chuàng)建對象,并輸出矩形的周長和面積。聲明一個矩陣類Matrix,有這樣一些實例方法:將一個矩陣轉(zhuǎn)置、求兩個矩陣的和。寫出下面程序的運行結(jié)果
class University { String name, city;University(String name, String city){ this.name = name;this.city = city;System.out.println(“super class”);} boolean samecity(String city){ if(city.equals(this.city))return true;else return false;} boolean samecity(University u){ return samecity(u.city);} }
class UniversityWorld extends University { String country;UniversityWorld(String name, String city, String country){ super(name,city);this.country = country;System.out.println(“sub class”);} boolean samecity(String city, String country){ if(city.equals(this.city)&& country.equals(this.country))return true;else return false;} boolean samecity(UniversityWorld other){ return samecity(other.city, other.country);} }
class UniversityWorldCity { public static void main(String args[]){ String city = “上?!?country = “中 國”;UniversityWorld u1 =new UniversityWorld(“北京大學(xué)”, “北京”, “中 國”);UniversityWorld u2 = new UniversityWorld(“清 華 大 學(xué)”, “北京”, “中 國”);System.out.println(“u1 = ” + u1.name + “, ” + u1.city + “, ” +u1.country);System.out.println(“u2 = ” + u2.name + “, ” + u2.city+ “,” + u2.country);System.out.println(“city = ” + city + “, country = ” +country);System.out.println(“u1.samecity(u2)= ” + u1.samecity(u2));System.out.println(“u1.samecity(city, country)= ” + u1.samecity(city,country));} } 實驗
四、繼承與接口
一、實驗?zāi)康?/p>
1.進一步熟悉JCreator開發(fā)JAVA代碼。2.了解類的成員的訪問權(quán)限和包的關(guān)系。
3.了解繼承和接口的區(qū)別已及它們各自的作用,熟悉開發(fā)環(huán)境。
二、實驗內(nèi)容 創(chuàng)建兩個String類的對象str1和str2,判斷sr2是否是str1的子串。如果是,輸出str1中,在子串ztr2前和后的字符串。如:
“Action”是“addActionListener”的子串,在此子串前是字符串”add”,后面是字符串”Listener”。寫出下面程序的運行結(jié)果 class Leve1{ String name=“";
int height,width;public Leve1(){;}
public Leve1(Leve1 le){
name=le.name;
height=le.height;
width=le.width;} public Leve1(String na,int h,int w){
name=na;
height=h;
width=w;}
public int higherthen(Leve1 t){
return this.height-t.height;}
public void print(){
System.out.println(”class Leve1: “);
System.out.println(”Name=: “+name+”, Height=: “+height+”, Width=: “+width);} } class Leve2 extends Leve1{ int width;
public Leve2(){;}
public Leve2(Leve1 le,int h,int w){
super(le);
height=h;
width=w;}
public int widerthen(){
return width-super.width;} public void print(){
System.out.println(”class Leve2: “);
System.out.println(”Name=: “+name+”, Height=: “+height+”, Width=: “+width);} } public class Lev_ex{ public static void main(String args[]){ Leve1 le1=new Leve1(”Tower_1“,50,20);
Leve2 le2=new Leve2(le1,40,25);
le1.print();
le2.print();
System.out.println(”Leve1 is “+le1.higherthen(le2)+” highter then Leve2.“);
System.out.println(”Leve2 is “+le2.widerthen()+” wider then Leve1.“);} }
3、編寫代碼,完成功能:建立一個窗口,窗口上方橫列“文件”、“選項”兩個菜單項。其中“文件”菜單下隱含“退出”、“顯示”、“隱藏”三個子菜單,每個子菜單都可用快捷鍵選擇并且“退出”與其他兩個子菜單之間用分隔線分隔?!斑x項”菜單下包含名稱為“1”、“2”、“3”。。。“50”的50個菜單項,當(dāng)選擇其中任何一個數(shù)字選項時,窗口正中將顯示0至該數(shù)字之間所有數(shù)的平方和(包含數(shù)字本身)。如選中選項“3”,則顯示14(SUM=1*1+2*2+3*3=14)。實驗
五、常用實用類
一、實驗?zāi)康?/p>
1.進一步熟悉JCreator開發(fā)JAVA代碼。2.了解常用實用類的使用。
二、實驗內(nèi)容 求和工具。編寫一個程序:設(shè)計如下面圖示的界面。在該界面中,可以在第一個文本框中輸入第一個加數(shù),可以在第二個文本框中輸入第二個加數(shù),當(dāng)用鼠標(biāo)的左鍵單擊按鈕”="時,在第三個文本框中顯示出前面兩個加數(shù)之和。設(shè)計一個簡單的計算器,能進行兩個數(shù)的加、減、乘、除。界面如圖所示?!癱lear”按鈕用于清理文本域的內(nèi)容。16方格排序游戲設(shè)計。編寫一個程序:如圖所示,要求在界面上設(shè)計4×4的按鈕,即16個按鈕排列成4×4的網(wǎng)格形狀。其中有且只有15個按鈕上有從1到15的數(shù)字,而且這些數(shù)字在按鈕上不重復(fù)出現(xiàn)。另外有一個按鈕上沒有數(shù)字。當(dāng)程序剛啟動時這15個數(shù)字是隨機排列的。當(dāng)用鼠標(biāo)左鍵單擊某個按鈕,如果該按鈕上有數(shù)字而且該按鈕在沒有數(shù)字的按鈕的邊上,則將該按鈕上的數(shù)字給沒有數(shù)字的按鈕,同時該按鈕就變成了沒有數(shù)字的按鈕。當(dāng)15個數(shù)字在4×4的網(wǎng)格中呈順序或逆序排列,則顯示消息框表明排列成功,并重新隨機排列這15個數(shù)字在按鈕網(wǎng)格上的位置。(提示: Math.random()可以產(chǎn)生隨機數(shù))
實驗
六、GUI編程
一、實驗?zāi)康?/p>
1.進一步熟悉JCreator開發(fā)JAVA代碼。2.了解GUI編程。
二、實驗內(nèi)容
1. 在下拉列表choice1中選擇整數(shù)N,單擊“生成”按鈕在列表框List1和List2中顯示N對的隨機數(shù)(2~1000),在列表框List3中顯示每對隨機數(shù)的最大公約數(shù)。單擊“排序”按鈕,List3中的N個最大公約數(shù)按從小到大排列。(提示:排序算法采用冒泡法。兩數(shù)的最大公約數(shù)可以采用歐幾里得算法:不斷用兩數(shù)中較大數(shù)減較小的數(shù),至到有一個數(shù)等于0。另外一個大于0的數(shù)就是這兩數(shù)的最大公數(shù)約)。
2.完成程序?qū)崿F(xiàn)一個簡單的文本編輯器,其中File菜單實現(xiàn)Exit子菜單,Edit菜單實現(xiàn)Copy、Cut、Paste、DeleteAll功能,Option菜單實現(xiàn)字體設(shè)置功能。
3.在文本框中輸入函數(shù)y=sin(ax)中a的值,點擊draw按鈕畫出函數(shù)圖形。
實驗
七、多線程
一、實驗?zāi)康?/p>
1.進一步熟悉JCreator開發(fā)JAVA代碼。2.了解多線程編程。
二、實驗內(nèi)容
1、編寫程序,有兩個線程,分別在屏幕上顯示1~50之間的奇數(shù)和偶數(shù)。觀察一共有幾個線程在運行,各個線程是怎樣被處理器執(zhí)行的。
2、編寫一個程序,創(chuàng)建兩個線程,其中一個產(chǎn)生5個1~100之間的隨機整數(shù),另一個線程將這5個數(shù)加起來。觀察運行的情況,分析是否正確。如果結(jié)果有問題,想辦法解決它。
實驗
八、圖形圖像
一、實驗?zāi)康?/p>
1.進一步熟悉JCreator開發(fā)JAVA代碼。2.了解圖形圖像編程。
二、實驗內(nèi)容
1、編寫一個模擬畫圖的程序,用戶可以選擇繪圖的圖形,如“線”、“矩形”、“圓”、“橢圓”等,選擇后即可在屏幕上移動鼠標(biāo)畫圖。(提示:選擇圖形可以使用單選按鈕組,畫圖需要處理鼠標(biāo)事件。)
學(xué) 生 實 驗 報 告 冊
課程名稱:
學(xué)生學(xué)號:
所屬院部:
(理工類)
專業(yè)班級:
學(xué)生姓名:
指導(dǎo)教師: ——20 學(xué)年 第 學(xué)期
金陵科技學(xué)院教務(wù)處制
實驗報告書寫要求
實驗報告原則上要求學(xué)生手寫,要求書寫工整。若因課程特點需打印的,標(biāo)題采用四號黑體,正文采用小四號宋體,單倍行距。紙張一律采用A4的紙張。
實驗報告書寫說明
實驗報告中實驗?zāi)康暮鸵?、實驗儀器和設(shè)備、實驗內(nèi)容與過程、實驗結(jié)果與分析這四項內(nèi)容為必需項。教師可根據(jù)學(xué)科特點和實驗具體要求增加項目。
填寫注意事項
(1)細致觀察,及時、準(zhǔn)確、如實記錄。(2)準(zhǔn)確說明,層次清晰。
(3)盡量采用專用術(shù)語來說明事物。
(4)外文、符號、公式要準(zhǔn)確,應(yīng)使用統(tǒng)一規(guī)定的名詞和符號。(5)應(yīng)獨立完成實驗報告的書寫,嚴禁抄襲、復(fù)印,一經(jīng)發(fā)現(xiàn),以零分論處。
實驗報告批改說明
實驗報告的批改要及時、認真、仔細,一律用紅色筆批改。實驗報告的批改成績采用五級記分制或百分制,按《金陵科技學(xué)院課堂教學(xué)實施細則》中作業(yè)批閱成績評定要求執(zhí)行。
實驗報告裝訂要求
實驗批改完畢后,任課老師將每門課程的每個實驗項目的實驗報告以自然班為單位、按學(xué)號升序排列,裝訂成冊,并附上一份該門課程的實驗大綱。
金陵科技學(xué)院實驗報告
實驗項目名稱: 面向?qū)ο缶幊虒嶒?實驗學(xué)時: 8 同組學(xué)生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間:
金陵科技學(xué)院實驗報告
實驗1 面向?qū)ο缶幊虒嶒?/p>
一、實驗?zāi)康暮鸵?/p>
(1)理解Java概念、掌握JDK環(huán)境配置(2)熟悉Java開發(fā)過程
(3)掌握Java面向?qū)ο缶幊袒A(chǔ):封裝、繼承、多態(tài)(4)掌握Java接口編程,理解開發(fā)模式
二、實驗儀器和設(shè)備
奔騰以上個人計算機,windows操作系統(tǒng)。
配置好JDK環(huán)境,安裝集成開發(fā)環(huán)境(Eclipse)
三、實驗內(nèi)容與過程
1、JDK環(huán)境配置
2、面向?qū)ο蟮姆庋b性
范例:設(shè)計一個表示學(xué)生的類,里面有學(xué)生的三項成績:計算機成績、數(shù)學(xué)成績、英語成績。要求可以求總分、平均分、最高分、最低分,并且可以輸出一個學(xué)生的完整信息。代碼如下: class Student{ private String name;private int age;private float english;private float computer;private float math;public Student(){} public Student(String n,int a,float e,float c,float m){
this.setName(n);
this.setAge(a);
this.setEnglish(e);
this.setComputer(c);
this.setMath(m);} public float sum(){
return english + computer + math;} public float avg(){
return this.sum()/ 3;} public float max(){
float max = computer>math?computer:math;
max = max>english?max:english;
return max;} public float min(){
float min = computer