上傳JAVA實(shí)驗(yàn)報(bào)告.doc_第1頁(yè)
上傳JAVA實(shí)驗(yàn)報(bào)告.doc_第2頁(yè)
上傳JAVA實(shí)驗(yàn)報(bào)告.doc_第3頁(yè)
上傳JAVA實(shí)驗(yàn)報(bào)告.doc_第4頁(yè)
上傳JAVA實(shí)驗(yàn)報(bào)告.doc_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本科實(shí)驗(yàn)報(bào)告課程名稱: Java語言程序設(shè)計(jì) 實(shí)驗(yàn)項(xiàng)目: 實(shí)驗(yàn)一 Java語言基礎(chǔ) 實(shí)驗(yàn)地點(diǎn): 專業(yè)班級(jí): 學(xué)號(hào): 學(xué)生姓名: 指導(dǎo)教師: 實(shí)驗(yàn)名稱 實(shí)驗(yàn)1 Java語言基礎(chǔ)實(shí)驗(yàn)?zāi)康暮鸵竽康模?1) 通過實(shí)驗(yàn),掌握J(rèn)ava語言程序設(shè)計(jì)的基本方法。(2) 學(xué)會(huì)Java語言中標(biāo)示符的命名、運(yùn)算符和表達(dá)式的應(yīng)用。(3) 熟練地掌握J(rèn)ava程序流程控制語句的應(yīng)用。實(shí)驗(yàn)內(nèi)容(1) 編寫應(yīng)用程序,計(jì)算100(含100)以內(nèi)所有偶數(shù)的和。(2) “水仙花數(shù)”是指一個(gè)3位數(shù),其個(gè)位、十位、百位上的數(shù)字的立方和等于該數(shù)本身,例如371=33+73+13,因此371是一個(gè)水仙花數(shù)。編寫程序,求所有的水仙花數(shù)。(3) 編寫一個(gè)程序,求1-100間的素?cái)?shù)。(4) 有一函數(shù): x (x1)Y= 3x-2 (1x10) 4x (x10) 寫一程序,給定x值,輸出y值。(5) 使用for循環(huán)語句,編寫程序輸出以下圖案。(6) 編寫程序,輸出從公元1900年到2100年所有閏年的年號(hào),每輸出5個(gè)年號(hào)換一行。判斷年是否為閏年的條件是: 若年號(hào)可以被4整除,而不能被100整除,則是閏年; 若年號(hào)可以被400整除,也是閏年。主要儀器設(shè)備臺(tái)式或筆記本計(jì)算機(jī)實(shí)驗(yàn)記錄(1)public class sum public static void main(String args) int i=100; int sum=0; System.out.println(2+4+6+8+.+100=); for(i=1;i=100;i+) if (i%2=0) sum+=i; System.out.println(sum); 結(jié)果:(1)(2)(4)(2)public class shuixianhuan public static void main(String args) int a;int b;int c; int sum;System.out.println(請(qǐng)輸出所有的水仙花數(shù):);for (a = 0; a 10; a+)for (b = 0; b 10; b+)for (c = 0; c 100)System.out.println(sum);(3)public class sushu public static void main(String args) / TODO Auto-generated method stubint j; for (int i=2;i=100;i+) for (j=2;ji;j+) if (i%j=0) break; if(ji) continue; else System.out.println(i); 結(jié)果:(3)(4)import java.util.*;public class hanshu public static void main(String args) throws Exception Scanner input =new Scanner(System.in); System.out.println(請(qǐng)輸入x的值:); int x= input.nextInt(); int y; if(x=10) y=4*x; else y=(3*x-2); System.out.println(計(jì)算結(jié)果為:+y); (5)public class tuan public static void main(String args) int n=4;for(int i=1;i=i;k-)/打印空格System.out.print( ); for(int j=1;j=1;i-) for(int k=i;k=n-1;k+) System.out.print( ); for(int j=1;j=2*i-1;j+) System.out.print(); System.out.println(); 結(jié)果:(5) (6)public class runnian public static void main(String args) for (int i=1990;i=2100;i+) if(i%400=0) System.out.println(i+年是閏年); if(i%4=0)&(i%100!=0) System.out.println(i+年是閏年); 結(jié)果:(6)遇到的問題和解決方法基本沒有遇到什么問題,都是一些經(jīng)典的算法,只是還不熟練。心得體會(huì)通過實(shí)驗(yàn)一,對(duì)Java編程有了基本的了解,可以編寫一些小程序,需要注意的是要多練習(xí),還不是很熟。實(shí)驗(yàn)名稱 實(shí)驗(yàn)二 數(shù)組和字符串編程實(shí)驗(yàn)?zāi)康暮鸵竽康模?1) 通過實(shí)驗(yàn),掌握J(rèn)ava語言中數(shù)組、字符串程序設(shè)計(jì)的基本方法。(2)較熟練地掌握J(rèn)ava程序數(shù)組的應(yīng)用、字符串處理操作的方法應(yīng)用。實(shí)驗(yàn)內(nèi)容(1) 編寫一個(gè)程序,在控制臺(tái)輸入10個(gè)數(shù),按大小順序輸出。(2) 求一個(gè)3*3矩陣對(duì)角元素之和。(3) 輸入一段字符串,統(tǒng)計(jì)其中有多少個(gè)單詞。(單詞用空格隔開)。主要儀器設(shè)備臺(tái)式或筆記本計(jì)算機(jī)實(shí)驗(yàn)記錄(1)import java.util.*;public class daxiaoshu public static void main(String args) throws Exception int num=new int 10;Scanner input = new Scanner (System.in); System.out.println(請(qǐng)輸入數(shù)字:);for(int i=0;i10;i+) numi=input.nextInt();Arrays.sort(num); /對(duì)數(shù)組進(jìn)行升序排列 System.out.println(從小到大輸出:);for(int j=0;jnum.length;j+) System.out.print(numj+ ); 結(jié)果:(1)(2)(3)(2)import java.util.*;public class juzhen public static void main(String args) Scanner in = new Scanner(System.in); System.out.println(請(qǐng)輸入一個(gè)3*3矩陣:); int sum=0; int a=new int33; for(int i=0;i3;i+) for(int j=0;j 0) rtr_str = ( + m + + + n + i + ); if (n = 0) rtr_str = ( + m + ); if (n this.balance)System.out.println(金額不足,請(qǐng)重新輸入);else this.balance-=money; System.out.println(你取了+money+元);public class Account public static void main(String args) Account a=new Account(*,400); System.out.println(賬戶余額為+a.getbalance()+元); a.deposit(500); System.out.println(你存入+a.getbalance()+元); System.out.println(賬戶余額為+a.getbalance()+元); a.withdraw(300); (3) package mymaths;interface Num public void Max(); public void Min();public class interface implements Numint a,b,c;public interface (int a,int b,int c) this.a=a; this.b=b; this.c=c;public void Max() int max; max=ab?a:b; max=maxc?max:c; System.out.println(三個(gè)數(shù)中最大值是:+max); public void Min() int min; min=ab?a:b; min=minc?min:c; System.out.println(三個(gè)數(shù)中最小值是:+min); public static void main(String args) interface qr=new interface (8,4,13); qr.Max(); qr.Min();結(jié)果:(3)(4)package cn.test.suppermacket.pojo;public class Goods private String name; private double price; private int number; private int sale; private String add; private int showMe; public String getName() return name; public void setName(String name) = name; public double getPrice() return price; public void setPrice(double price) this.price = price; public int getNumber() return number; public void setNumber(int number) this.number = number; public int getSale() return sale; public void setSale(int sale) this.sale = sale; public String getAdd() return add; public void setAdd(String add) this.add = add; public int getShowMe() return showMe;package cn.test.suppermacket1;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import cn.test.suppermacket.pojo.Goods;public class Suppermarket private Goods goods; private Map market=new HashMap(); public Goods getGoods() return goods; public void setGoods(Goods goods) this.goods = goods; public boolean append(Goods goods) if(market.get(goods.getName()!=null) market.get(goods.getName().setNumber(market.get(goods.getName().getNumber()+1);else goods.setNumber(1); market.put(goods.getName(), goods); return true; public boolean delete(String name) if(market.get(name)!=null) if(market.get(name).getNumber()=0) System.out.println(已經(jīng)沒貨了); market.get(name).setNumber(1); market.get(name).setNumber(market.get(name).getNumber()-1); else System.out.println(沒有這種商品!); return true; public void query() if(market.size()0) Iterator iter=market.values().iterator(); for(int i=0;imarket.size();i+) Goods emp=(Goods) iter.next(); System.out.println(商品名稱:+emp.getName(); System.out.println(商品價(jià)格:+emp.getPrice(); System.out.println(商品數(shù)量:+emp.getNumber();System.out.println(商品上架情況:+(Y.equals(emp.getAdd()?已上架:未上架);System.out.println(商品信息:+emp.getShowMe(); elseSystem.out.println(超市什么都沒有了!); public void doSale(String name) if(market.get(name)!=null) if(market.get(name).getNumber()2) System.out.println(market.get(name).getName()+最后一件售出了!); if(market.get(name).getNumber()=0) System.out.println(已經(jīng)沒貨了!); market.get(name).setNumber(1); market.get(name).setNumber(market.get(name).getNumber()-1); else System.out.println(沒有這種商品!); public void doAdd(String name) if(market.get(name)!=null) if(Y.equals(market.get(name).getAdd() System.out.println(market.get(name).getName()+已經(jīng)上架); else market.get(name).setAdd(Y); public boolean findGoods(String name) if(market.get(name)!=null) return true; return false; package cn.test.test;import java.util.Scanner;import cn.test.suppermacket1.Suppermarket;import cn.test.suppermacket.pojo.Goods;public class DemoTest public static void main(String args) Suppermarket macket=new Suppermarket(); Scanner sc = new Scanner(System.in); showMune(sc,macket); public static void showMune(Scanner sc,Suppermarket macket) while(true) System.out.println(*); System.out.println(*超市測(cè)試菜單*); System.out.println(*(1)增加新的商品*); System.out.println(*(2)減少已有商品*); System.out.println(*(3)現(xiàn)有商品列表*); System.out.println(*(4)商品貨物出售*); System.out.println(*(5)商品上架操作*); System.out.println(請(qǐng)輸入你要的操作序號(hào)(1-5):); int i=sc.nextInt(); switch(i) case 1: Goods goods=new Goods(); makeGoods(goods,sc,macket); macket.append(goods); break; case 2: System.out.println(請(qǐng)輸入要減少的商品名稱:); String name=sc.next(); macket.delete(name); break; case 3: macket.query(); break; case 4: System.out.println(請(qǐng)輸入要出售的商品名稱:); name=sc.next(); macket.doSale(name); break; case 5: System.out.println(將商品標(biāo)記為上架:); name=sc.next(); macket.doAdd(name); break; public static Goods makeGoods(Goods goods,Scanner sc,Suppermarket macket) System.out.println(請(qǐng)輸入要添加的商品名稱:); goods.setName(sc.next(); String name=goods.getName(); if(macket.findGoods(name) return goods; System.out.println(請(qǐng)輸入商品的價(jià)錢); goods.setPrice(sc.nextDouble(); System.out.println(請(qǐng)輸入產(chǎn)品的相關(guān)信息); return goods; 結(jié)果: 遇到的問題和解決方法實(shí)驗(yàn)三進(jìn)行的比較艱難,不能很好的建立起框架,在過程中也不斷遇到問題。經(jīng)過請(qǐng)教同學(xué),上網(wǎng)查資料,最終得出答案,但是答案也用了很長(zhǎng)時(shí)間去理解。對(duì)基本知識(shí)的掌握還是不扎實(shí),今后得多加練習(xí)。心得體會(huì)通過實(shí)驗(yàn)三,開始初步接觸Java的一些長(zhǎng)程序,發(fā)現(xiàn)在編寫程序時(shí)候不能很好的建立起框架,正題比較混亂,在請(qǐng)教同學(xué)上網(wǎng)查資料后才終于得出答案,看懂了資料的程序,試著去自己理思路,對(duì)所學(xué)的知識(shí)有了進(jìn)一步的了解,從超市系統(tǒng)這個(gè)程序中學(xué)到了很多東西。實(shí)驗(yàn)名稱 實(shí)驗(yàn)四 Java異常處理實(shí)驗(yàn)?zāi)康暮鸵竽康模赫莆债惓5母拍睿约叭绾味x、拋出和捕獲處理異常。實(shí)驗(yàn)內(nèi)容(1) 做實(shí)驗(yàn)之前要求思考以下問題,作為預(yù)習(xí)內(nèi)容;1 錯(cuò)誤和異常有何區(qū)別?查看Java異常類的關(guān)系圖。2 異常是如何拋出、捕獲和處理的?3 Java捕獲和處理異常的結(jié)構(gòu)式怎樣的?4 Try語句如何嵌套?Trow語句有何作用?Finally程序快的作用是什么?(2) 運(yùn)行下面的程序,理解異常的拋出、捕獲與處理。Import java.io.*;public class void main(String args) public staic void main(String args) for(int i=0;i4;i+) int k; try switch(i) case 0: /divided by zero int zero=0; k=911; /zero break; case 1:/null pointer int b=null; k=b0; break; case 2: /array index out of bound int c=new int2; k=c9; break; case 3: /string index out of bound char ch=abc.charAt(99); break; catch(Exception e) System.out.println(nTestcase#+i+n); System.out.println(e); (3)在實(shí)驗(yàn)三中的超市、商品類中創(chuàng)建一個(gè)自定義異常類。 要求:在定義商品類時(shí),若銷售商品數(shù)量大于余額則作為異常處理(InsufficientFundsException)。提示:1 產(chǎn)生異常條件是某類商品銷售數(shù)量大于庫(kù)存額,因此是否拋出異常要先判斷該條件。2 確定產(chǎn)生異常的方法,應(yīng)該在sale方法中產(chǎn)生異常Insufficient Funds Exception。3 處理異常安排在調(diào)用sale的時(shí)候,因此sale方法要聲明異常,由上級(jí)方法捕獲并處理。4 要定義好自己的異常。主要儀器設(shè)備臺(tái)式或筆記本計(jì)算機(jī)實(shí)驗(yàn)記錄(1) 答:錯(cuò)誤是程序運(yùn)行過程中產(chǎn)生的,如除數(shù)為零、文件不能打開,數(shù)組下標(biāo)超過界限,內(nèi)存不夠用等。異常是程序運(yùn)行中打斷正常程序流程的任何不正常情況。 用throw、throws拋出異常,將要異常監(jiān)控的程序段放在try代碼塊中,如果try代碼塊中發(fā)生異常,拋出的異常會(huì)被捕獲。拋出的異常用catch捕獲。 try-catch-finally throw語句用于拋出異常,finally字句為異常處理提供一個(gè)統(tǒng)一的出口,使得在控制流轉(zhuǎn)到其他部分以前,能夠?qū)Τ绦虻臓顟B(tài)作統(tǒng)一的管理。(2) 結(jié)果: (3) public class yichangchulipublic static void main(String args) try Shop sh = new Shop(100);sh.sale(200);System.out.println(銷售成功!); catch (InsufficientFundsException e) System.out.println(e.toString();class Shop int num;Shop(int num) this.num = num;public void deposite(int dAmount) num += dAmount;public void sale(int dAmount) throws InsufficientFundsException if (num dAmount)throw new InsufficientFundsException();num = num - dAmount;class InsufficientFundsException extends Exception InsufficientFundsException() super(商品銷售數(shù)量大于庫(kù)存額!);結(jié)果:遇到的問題和解決方法在運(yùn)行程序后理解了異常的捕獲與處理,但是在實(shí)際的例子里卻不會(huì)捕獲異常,還需要不斷練習(xí)。心得體會(huì)通過這次實(shí)驗(yàn),對(duì)Java里異常的捕獲與處理有了進(jìn)一步的了解,知道了如何去捕獲處理異常,對(duì)今后的編程起到了一定的作用。實(shí)驗(yàn)名稱 實(shí)驗(yàn)五 多線程編程實(shí)驗(yàn)?zāi)康暮鸵竽康模?1) 現(xiàn)成的概念、線程的生命周期。(2) 多線程的編程:擴(kuò)展Thread類與使用Runnable接口。(3) 使用多線程機(jī)制實(shí)現(xiàn)動(dòng)畫。實(shí)驗(yàn)內(nèi)容(1) 運(yùn)行下面的程序,理解用創(chuàng)建Thread子類的方法實(shí)現(xiàn)多線程。/S09_01_Thread.JavaImport java.util.*;class S09_01_Thread extends Thread int pauseTime; String name; public S09_01_Thread(int x,String n) pauseTime=x; name=n;public void run() while(true) try system.out.println(name+:+new Date(System.currentTimeMillis(); Tread.sleep(pauseTime); catch(Exception e)System.out.println(e); static public void main(String srgs) S09_01_Thread tp1=new S09_01_Thread(1000,Fast); tp1.start(); S09_01_Thread tp2=new S09_01_Thread(3000,Slow); tp2.start(); (2) 運(yùn)行下面的程序,理解用實(shí)現(xiàn)Runnable接口的方法實(shí)現(xiàn)多線程。/S09_02_Thread.JavaImport java.util.*;class S09_02_Thread implements Runnable int pauseTime; String name; public S09_02_Thread(int x,String n) pauseTime=x; name=n;public void run() while(true) try system.out.println(name+:+new Date(System.currentTimeMillis(); Tread.sleep(pauseTime); catch(Exception e)System.out.println(e); static public void main(String srgs) Thread t1=new Thread(new S09_02_Thread(1000,Fast); t1.start(); Thread t2=new Thread(new S09_02_Thread(3000,Slow); t2.start(); (3) 創(chuàng)建簡(jiǎn)單的程序ThreeThread.java,該程序?qū)?chuàng)建三個(gè)線程,每個(gè)線程應(yīng)當(dāng)顯示它所運(yùn)行的時(shí)間(可以考慮使用Date類或Calendar類)。主要儀器設(shè)備臺(tái)式或筆記本計(jì)算機(jī)實(shí)驗(yàn)記錄結(jié)果:(1)(2)(3) import java.util.*;public class L09_03_ThreeThread extends Thread int pauseTime; String name; public L09_03_ThreeThread(int x,String n) pauseTime=x; name=n; public void run() while(true) try System.out.println(name+:+new Date(System.currentTimeMillis(); catch(Exception e) System.out.println(e); public static void main(String args) L09_03_ThreeThread tp1=new L09_03_ThreeThread(1000,Fast); tp1.start(); L09_03_ThreeThread tp2=new L09_03_ThreeThread(2000,Midle); tp2.start(); L09_03_ThreeThread tp3=new L09_03_ThreeThread(3000,Slow); tp3.start(); 結(jié)果:(3) 遇到的問題和解決方法基本沒有遇到什么問題,根據(jù)例子編寫線程。心得體會(huì) 通過這次實(shí)驗(yàn),對(duì)線程的概念有了進(jìn)一步的了解,每次程序執(zhí)行的結(jié)果都不相同,對(duì)線程有了進(jìn)一步的了解。實(shí)驗(yàn)名稱 實(shí)驗(yàn)六 圖形用戶界面編程實(shí)驗(yàn)?zāi)康暮鸵竽康模?掌握文本組件、按鈕和單、復(fù)選按鈕組件的使用;掌握列表的使用,鼠標(biāo)、鍵盤事件的處理;掌握布局控制的方法。實(shí)驗(yàn)內(nèi)容(1) 編寫一個(gè)Applet程序響應(yīng)鼠標(biāo)事件,當(dāng)鼠標(biāo)事件發(fā)生時(shí),在狀態(tài)條顯示相應(yīng)的時(shí)間信息。提示:使用show

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論