《Java語言》實驗報告
《《Java語言》實驗報告》由會員分享,可在線閱讀,更多相關(guān)《《Java語言》實驗報告(19頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 實驗報告 2013-2014學(xué)年第1學(xué)期 科目名稱: Java語言 指導(dǎo)老師: 楊名念 班 級: 信管1102班 學(xué) 號: 姓 名: 姚岸 湖南工業(yè)大學(xué) 財經(jīng)學(xué)院 實驗一 【實驗名稱】:JDK的安裝、配置,Java基本語法練習(xí) 【實驗日期】:2013年9月11日 【實驗?zāi)康摹浚? 1. 熟悉JDK開發(fā)環(huán)境。 2. 熟悉UltraEdit編輯器的使用。 3. 掌握J(rèn)ava Application的程序結(jié)構(gòu)和開發(fā)過程。 4. 掌
2、握各種數(shù)據(jù)類型及其使用方法。 【實驗內(nèi)容及要求】: 1. JDK安裝。 2. 設(shè)置環(huán)境變量。 3. 運(yùn)用記事本或UltraEdit編寫并運(yùn)行一個簡單的“Hello World!”應(yīng)用程序。 4. 對于給定的一個整數(shù),判斷其是否為水仙花數(shù)。 【實驗步驟】: 1. 登錄到Sun公司的網(wǎng)站免費(fèi)下載JDK1.6(如jdk-6u3-windows-i586-p.exe),在該網(wǎng)站的“Popular Downloads”頁面中單擊“Java SE”,然后選擇“JDK 6 Update”,單擊“下載”即可; 雙擊jdk-6u3-windows-i586-p.exe文件圖標(biāo),將出現(xiàn)安裝
3、向?qū)Ы缑?,接受軟件安裝協(xié)議,出現(xiàn)選擇安裝路徑界面。為了便于今后設(shè)置環(huán)境變量,建議修改默認(rèn)的安裝路徑。這里將默認(rèn)的安裝路徑“”修改為“E:\jdk1.6”; 將JDK安裝到E:\jdk1.6目錄下,生出相應(yīng)的目錄結(jié)構(gòu)即可。 2.環(huán)境變量的設(shè)置:在桌面找到計算機(jī)點(diǎn)擊右鍵——>屬性——>高級系統(tǒng)設(shè)置——>高級里的環(huán)境變量——>用戶變量新建——>設(shè)置path和classpath兩個變量即可。 【程序代碼】: 3.public class Test { public static void main (String args[]) { System.out.println("Hello
4、World"); } } 4. import java.util.*; public class shuixian{ public static void main(String args[]){ Scanner reader=new Scanner(System.in); int i,a,b,c; System.out.print("輸入數(shù)i:"); i=reader.nextInt(); a=i/100; b=(i/10)%10; c=i%10; if(i==a*a*a+b*b*b+c*c*c) System.out.printf("%d是水仙花",i); e
5、lse System.out.printf("%d不是水仙花",i); } } 【程序輸出結(jié)果】: 3、輸出:Hello Word 4、輸入數(shù)i:123 123不是水仙花 【結(jié)果分析、自己的體會和收獲】: 這是學(xué)習(xí)Java的首堂實驗課,我們首先了解了JDK的開發(fā)環(huán)境,并且能在自己電腦上進(jìn)行Java所需的相關(guān)環(huán)境配置。接下來就是實戰(zhàn)性的操作了,這次實驗我們主要以驗證型為主,主要是為了讓我們對Java的相關(guān)操作更加熟練。 本次實驗雖然不需要我們自己進(jìn)行程序的編寫,也許看起來只是簡單的敲寫代碼,但它實際要求我們要細(xì)心,耐心,因為一點(diǎn)點(diǎn)的錯誤,就會使得整個程序不能運(yùn)行。
6、 實驗二 【實驗名稱】:基本控制結(jié)構(gòu)、數(shù)組與循環(huán)的具體應(yīng)用 【實驗日期】:2013年9月25日 【實驗?zāi)康摹浚? 1. 掌握分支語句if、switch。 2. 掌握循環(huán)語句for、while、do-while的應(yīng)用。 3. 掌握數(shù)組的聲明和使用。 4. 掌握雙重循環(huán)的使用。 【實驗內(nèi)容及要求】: 1. 分別使用if-else-if語句和switch語句編程,確定某一成績所對應(yīng)的等級。 2. 分別使用while、do-while和for語句編程,求1~100的和。 3. 初始化一維整型數(shù)組,并查找數(shù)組中最大的數(shù)。 4. 使用雙重循環(huán)編程,求100以內(nèi)所有素數(shù)的和。
7、【程序代碼】: 1.(1) if-else-if語句: import java.util.*; public class hello{ public static void main(String args[]){ Scanner reader=new Scanner(System.in); int a=0; System.out.print("輸入成績a:"); a=reader.nextInt(); if(a>=90&&a<=100) System.out.printf("%d為優(yōu)秀",a); else if(a>=80&&a<90) System.out.prin
8、tf("%d為良好",a); else if(a>=70&&a<80) System.out.printf("%d為中等",a); else if(a>=60&&a<70) System.out.printf("%d為合格",a); else if(a<60) System.out.printf("%d為不合格",a); } } (2) switch語句: import java.util.*; public class hello{ public static void main(String args[]){ Scanner reader=new Scanner
9、(System.in); int a=0,t=0; System.out.print("輸入成績a:"); a=reader.nextInt(); t=a/10; switch(t){ case 10: case 9:System.out.printf("%d為優(yōu)秀",t); case 8:System.out.printf("%d為良好",t); case 7:System.out.printf("%d為中等",t); case 6:System.out.printf("%d為合格",t); case 5: case 4: case 3: case 2: cas
10、e 1: case 0:System.out.printf("%d為不合格",t); dafault:System.out.printf("%d不代表成績",t); } } } 2.(1) while語句: public class hello{ public static void main(String args[]){ int i=1,sum=0; while(i<=100){ sum=sum+i; i++; } System.out.println("e="+sum); } } (2) do-while語句: public class hello
11、{ public static void main(String args[]){ int i=1,sum=0; do{ sum=sum+i; i++; }while(i<=100); System.out.println("e="+sum); } } (3) for語句: public class hello{ public static void main(String args[]){ int i,sum=0; for(i=1;i<=100;i++){ sum=sum+i; } System.out.println("e="+sum); } } 3
12、. import java.util.Scanner; public class hello{ public static void main(String args[]){ int i,max; int a[]={1,2,3,4,5,6,7,8,9}; max=a[0]; for(i=0;i<=8;i++){ if(a[i]>a[0]){ max=a[i]; } else max=a[0]; } System.out.printf("%d",max); } } 4. import java.util.*; public class hello{ publ
13、ic static void main(String args[]){ int i,j,s=0; for(i=1;i<=100;i++){ int k=0; for(j=2;j<=i/2;j++) if(i%j==0) k++; if(i==1) continue; else { if(k==0) s+=i; else continue; } } System.out.println("1到100之間所有素數(shù)的和為"+s); } } 【程序輸出結(jié)果】: 1、輸入成績a:87 87為良好 2、輸出結(jié)果為:e=5050 3、輸出結(jié)
14、果為:9 4、 輸出結(jié)果為:1到100之間所有素數(shù)的和為1060. 【結(jié)果分析、自己的體會和收獲】: 本次實驗就是要求我們通過自己編寫程序,將基本控制結(jié)構(gòu)、數(shù)組與循環(huán)運(yùn)用起來,來完成實驗中的要求,以此來檢驗我們課堂所學(xué)的知識,雖然這次實驗中有很多語句的編寫跟我們以前所學(xué)的C語言程序有很多的相同之處,但通過學(xué)習(xí)我們會發(fā)現(xiàn)有很多細(xì)微之處不同,而且Java編程更簡單,所以Java的學(xué)習(xí)應(yīng)該是我們繼C語言后的另一個平臺。 實驗三 【實驗名稱】:類和對象的應(yīng)用 【實驗日期】:2013年10月9日 【實驗?zāi)康摹浚? 1. 掌握類的聲明和對象的創(chuàng)建。 2. 掌握方法的定義、調(diào)用和構(gòu)造
15、方法的使用。 【實驗內(nèi)容及要求】: 1. 編程創(chuàng)建一個名為Circle的表示圓形的類,在其中定義一個變量表示圓的半徑并定義一個方法對其進(jìn)行初始化,再定義兩個方法求圓的周長和面積,創(chuàng)建一個對象,求給定半徑的圓的周長和面積。 2. 在上述的Circle類中,將圓半徑的初始化改在構(gòu)造方法中進(jìn)行,并進(jìn)行相應(yīng)的對象創(chuàng)建操作,求圓的周長和面積。 3. 編寫一個類,該類封裝了一元二次方程共有的屬性和功能,即該類有刻畫方程系數(shù)的3個成員變量以及計算實根的方法。 【程序代碼】: 1. . public class Hello { public static void main(St
16、ring args[]){ Circle circle; circle=new Circle(); circle.radius=163.16; double area=circle.getArea(); double girth=circle.getGirth(); System.out.printf("半徑是%5.3f的圓的面積: \n%5.3f\n",circle.radius,area); System.out.printf("半徑是%5.3f的圓的
17、周長: \n%5.3f\n",circle.radius,girth); } } class Circle{ double radius; double getArea(){ double area=3.14*radius*radius; return area; } double getGirth(){ double girth=3.14*2*radius; return girth; } } 2. import java
18、.util.*; public class Hello { public static void main(String args[]){ Scanner reader=new Scanner(System.in); double r=0; System.out.print("輸入半徑r:"); r=reader.nextDouble(); Circle circle; circle=new Circle(); circle.r
19、adius=r; double area=circle.getArea(); double girth=circle.getGirth(); System.out.printf("半徑是%5.3f的圓的面積: \n%5.3f\n",circle.radius,area); System.out.printf("半徑是%5.3f的圓的周長: \n%5.3f\n",circle.radius,girth); } } class Circle{ double radi
20、us; double getArea(){ double area=3.14*radius*radius; return area; } double getGirth(){ double girth=3.14*2*radius; return girth; } } 3.package Hello; public class Hello { private double a; private double b; private double c; private
21、 double[] d; public String[] i; public void setValue(double a, double b, double c) { this.a = a; this.b = b; this.c = c; this.d = new double[2]; this.i = new String[2]; } public boolean canGetValue() { double temp; temp = b * b - 4 * a * c; if (temp < 0) { this.i[
22、0] = (-b) / (a * 2) + "+" + Math.sqrt(-temp) / (2 * a) + "i"; this.i[1] = (-b) / (a * 2) + "-" + Math.sqrt(-temp) / (2 * a) + "i"; return false; } else { this.d[0] = (-b + Math.sqrt(temp)) / (2 * a); this.d[1] = (-b - Math.sqrt(temp)) / (2 * a); return true; } } public
23、double getA() { return a; } public double getB() { return b; } public double getC() { return c; } public double getD(int i) { return d[i]; } public static void main(String[] args) { Hello pratice1 = new Hello(); pratice1.setValue(1, 3, 4); if (pratice1.canGetValue
24、()) { System.out.println(pratice1.getA()); System.out.println(pratice1.getB()); System.out.println(pratice1.getC()); System.out.println(pratice1.getD(0)); System.out.println(pratice1.getD(1)); } else { System.out.println(pratice1.i[0]); System.out.println(pratice1.
25、i[1]); } } } 【程序輸出結(jié)果】: 1、半徑是163.160的圓的面積: 83590.523 半徑是163.160的圓的周長: 1024.645 2、 輸入半徑r:10 半徑是10.000的圓的面積: 314.000 半徑是10.000的圓的周長: 62.800 3、 -1.5+1.3228756555322954i 【結(jié)果分析、自己的體會和收獲】: 本次實驗感覺上是與C語言完全不搭邊的一次新的挑戰(zhàn)點(diǎn),以前對于Java的學(xué)習(xí),我們有C語言做支稱,而現(xiàn)在對于類與對象的學(xué)習(xí),感覺是一個全新的知識點(diǎn),我們學(xué)起來比以前吃力,有些操
26、作都看不懂,所以這次實驗我們是靠團(tuán)隊協(xié)助一起完成的,有問題出現(xiàn)大家一起查找,不會的地方,我們一起討論,最后這次實驗雖然難,但我們還是及時完成了。 實驗四 【實驗名稱】:繼承與多態(tài)的應(yīng)用 【實驗日期】:2013年10月23日 【實驗?zāi)康摹浚? 1. 掌握類的繼承方法。 2. 掌握成員變量的繼承和隱藏。 3. 掌握方法的繼承、重載和重寫。 【實驗內(nèi)容及要求】: 1. 在一個類中編寫4個兩數(shù)相加的重載方法,參數(shù)分別為整整,整實、實整、實實。并在主類中編程測試這些方法的運(yùn)行結(jié)果。 2. 編寫一個Java應(yīng)用程序,設(shè)計一個
27、汽車類Vehicle,包含的成員屬性有:車輪個數(shù)wheels和車重weight,并包含一個汽車啟動的方法go()。小車類Car是Vehicle的子類,其中包含屬性荷載人數(shù)passenger_load??ㄜ嘥ruck是Vehicle的子類,其中包含荷載人數(shù)passenger_load和荷載重量payload。要求每個類都要重寫父類的方法go(),并都有相關(guān)數(shù)據(jù)的輸出方法。運(yùn)行程序,理解成員變量的繼承與隱藏。 【程序代碼】: 1.class T1{ int getSum(int x,int y){ return x+y; } double getSum(double x,in
28、t y){ return x+y; } double getSum(int x,double y){ return x+y; } double getSum(double x,double y){ return x+y; } } public class Demo{ public static void main(String args[]){ T1 a=new T1(); System.out.println(a.getSum(1,2)); System.out.println(a.getSum(1.3,2)); Syst
29、em.out.println(a.getSum(1,2.3)); System.out.println(a.getSum(1.3,2.3)); } } 2. public class T1{ public static void main(String args[]){ Car a=new Car(); Truck b=new Truck(); Vehicle c=new Vehicle(); c.f(); a.go(); b.go(); } } class Vehicle{ int wheels=4; double weight=1000; publi
30、c void go(){ System.out.printf("手動擋啟動"); } public void f(){ System.out.printf("wheels=%d,weight=%f",wheels,weight); } class Car extends Vehicle{ int passenger_load=6; public void go(){ System.out.printf("自動擋啟動\n"); System.out.printf("passenger_load=%d",passenger_load); } } class Truck e
31、xtends Vehicle{ int passenger_load=5; double payload=1200; public void go(){ System.out.printf("手動加自動啟動"); System.out.printf("passenger_load=%d,payload=%f",passenger_load,payload); } } } 【程序運(yùn)行效果】: 1、1.3 3.3 3.3 3.6 2、wheels=4,weight=1000.000000 自動擋啟動 passenger_load=6 手動加自動啟動passenger
32、_load=5,payload=1200.000000 【結(jié)果分析、自己的體會和收獲】: 本次實驗的目的是學(xué)會類的繼承和成員變量的隱藏,還有方法的繼承、重載和重寫,本次實驗并不難,但是我在編寫第一道題時就出現(xiàn)了問題,因為我在一個地方使用了Double型,所以后面結(jié)果出來的時候,跟我計算的有點(diǎn)誤差,我一直以為是自己編程的錯誤,后面經(jīng)過老師的講解,我換了一個數(shù)值進(jìn)行重新計算,發(fā)現(xiàn)沒有問題了,經(jīng)過本次實驗我覺得我們對于Java的了解還只是皮毛,要想進(jìn)一步學(xué)習(xí),還必須去努力探索。 實驗五 【實驗名稱】:接口的應(yīng)用與GUI設(shè)計
33、【實驗日期】:2013年11月6日 【實驗?zāi)康摹浚? 1. 掌握接口的使用。 2. 了解GUI的概念 3. 掌握基本GUI組件的使用 4. 理解并掌握GUI事件驅(qū)動的程序設(shè)計 【實驗內(nèi)容及要求】: 1. 編寫一個包含收費(fèi)方法的接口,并在客車類和網(wǎng)吧類中實現(xiàn)該接口,并在主類中進(jìn)行使用測試。 2. 建立一個對話框,包含一個文本框、一個按鈕和一個標(biāo)簽,要求在文本框內(nèi)輸入自己名字“XXX”,點(diǎn)擊按鈕以后能在標(biāo)簽上顯示“XXX,你好!”。 【程序代碼】: 1、public class Example_1 { public static void main(String args
34、[]) { Bus bus=new Bus(); Netbar ca=new Netbar(); System.out.println("汽車的收費(fèi)為"+bus.g(1000)+""); System.out.println("網(wǎng)吧的收費(fèi)為"+ca.g(5)+""); } } interface Computable{ public double g(double x); } class Bus implements Computable{ public double g(double x){ retur
35、n 10*x; } } class Netbar implements Computable{ public double g(double x){ return 2.5*x; } } 2、import java.awt.Button; import java.awt.Color; import java.awt.Font; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax
36、.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; public class Demo4 extends JFrame { private TextField field; private Button button; public Demo4(){ this.setLayout(null); //布局 this.setTitle("用戶界面"); //標(biāo)題 this.setSize(300,
37、180); //大小 this.setResizable(false); //窗體大小不可改變 JLabel lal1=new JLabel(" 請輸入你的姓名:"); //標(biāo)簽 lal1.setFont(new Font("SimSun", Font.PLAIN, 12)); lal1.setForeground(Color.blue); //標(biāo)簽顏色 lal1.setBounds(30, 20, 120, 40);//位置和大小
38、 field=new TextField(); //文本框 field.setBounds(30,70, 120, 20); button=new Button("確定"); //按鈕 button.setBounds(30, 100, 80, 20); //為button添加監(jiān)聽事件 button.addActionListener(new ActionListener(){
39、 public void actionPerformed(ActionEvent e) { String name=field.getText(); JOptionPane.showMessageDialog(null,name+"你好!"); } }); this.add(lal1); this.add(field); this.add(button); } public stati
40、c void main(String[] args) { Demo4 demo4=new Demo4(); demo4.setVisible(true); } } 【程序輸出結(jié)果】: 1、汽車的收費(fèi)為10000.0 網(wǎng)吧的收費(fèi)為12.5 2、 【結(jié)果分析、自己的體會和收獲】: 本次實驗是對于接口的使用和GUI事件驅(qū)動的程序設(shè)計,通過對于類和接口的學(xué)習(xí),來編寫一個客車類和網(wǎng)吧類的收費(fèi)方法,本次實驗具有完全的自主權(quán),雖然還是要按部就班來,但是對其收費(fèi)方法的設(shè)置,可以完全根據(jù)你自己的想法來進(jìn)行編寫,可以復(fù)雜也可以簡單,可以發(fā)揮你的想象去設(shè)置收費(fèi)的方式。
- 溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《產(chǎn)品價值鏈與營銷戰(zhàn)略》
- lecture 9(精品)
- Where’s your pen pal from (2)
- (精品)實驗二血清γ球蛋白的分離純化與鑒定by陳蔚文
- 企業(yè)專利風(fēng)險管理
- 高中記敘文寫作指導(dǎo):寫人要凸顯個性ppt課件
- 新生兒溶血病的發(fā)病機(jī)理臨床癥狀課件
- 7、艱辛的求索 (2)
- 學(xué)校心理健康教育組織管理課件
- IE七大手法的發(fā)展歷程
- 頸托的正確使用課件
- (精品)電功與電功率復(fù)習(xí)1
- 李曉光-管理學(xué)原理第十三章領(lǐng)導(dǎo)工作概述
- 固體中的相結(jié)構(gòu)
- 智能化酒店系統(tǒng)PPT