




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
《JAVA面向?qū)ο蟪绦蛟O(shè)計》課程設(shè)計報告(2011-2012學(xué)年第2學(xué)期)系另1」:廈門理工學(xué)院計算機科學(xué)與技術(shù)系專業(yè)名稱:10級網(wǎng)絡(luò)工程1班課程設(shè)計科目:學(xué)生姓名:《JAVA面向?qū)ο蟪绦蛟O(shè)計》課程設(shè)計學(xué)號:指導(dǎo)教師:成績:完成時間:2012年7月6日題目JAVA程序課程設(shè)計任務(wù)一手機號碼檢測器(一)設(shè)計任務(wù)與目標(biāo)任務(wù):手機號碼是由11位數(shù)字構(gòu)成,用戶在輸入手機號碼時經(jīng)?;靵y輸入若干位數(shù)字或字母,要求你編寫一個程序檢測用戶所輸入的手機號碼是否符合規(guī)則。要求目標(biāo):檢測所輸入的手機號碼是否是11位檢測每一位是否都為數(shù)字。分析論證:本題目要求對用戶輸入的手機號碼進行檢測,判斷輸入的正確性。曾經(jīng)有做過類似字符比較的題目,可以借鑒。將字符的比較運用進來,把用戶的輸入字符和正確的進行比較。但是必須滿足多次輸入和錯誤提醒。同時還可以添加提示錯誤的位置和錯誤字符是什么。程序正確運行時可以滿足以上功能,基本可以達(dá)到題目要求了。(二)方案設(shè)計與論證為了滿足多次輸入的要求,將提示和輸入的操作放在一個循環(huán)體中,我采用了do_whiele()循環(huán)。每次輸入結(jié)束后提示是否繼續(xù)輸入。在循環(huán)中逐步對輸入的號碼位數(shù)和字符類型進行檢測。位數(shù)可以分超出和不足,并均給出錯誤提示。如果位數(shù)滿足要求后對手機號碼類型進行檢測。一般手機號在0~9之間,所以不滿足的字符將報錯。通過將輸入的整個字符串調(diào)用charAt(inti)方法對字符串逐位比較。本程序的特點在于可以滿足了多次輸入和錯誤字符的顯示(內(nèi)容和位置)。在程序的調(diào)試過程中,有過多次輸入正確的號碼也會報錯(還會報錯0位錯誤),這是因為記錄錯誤位子的變量放在錯誤條件下并且未在循環(huán)體中初始化為0。最終解決了此問題。三)程序框圖或流程圖,程序清單與調(diào)用關(guān)系Phone+phone:String+str:String+y:char+x:int+id:iiit+過;iiit+main(Strin呂[]args):void(四)程序運行的測試與分析實現(xiàn)了多次輸入和錯誤提示,可以判斷輸入的號碼的錯誤位置及字符,錯誤類型,滿足了設(shè)計構(gòu)思要求。最終結(jié)果如下圖:實驗結(jié)果截圖:FrobleasJavadocsCOR5O16+ernnTLateA.>Phune1.1.1[JavaApplicat1諸輸入電話號碼:13B5576E53D輸入完成!繼續(xù)輸人嗎(Y/K):請輸入電話號碼:123e4567E91輸入錯誤!第勻位輸入錯誤字符已繼縝輸人嗎(y/R):請輸入電話號碼;123輸入錯誤,位數(shù)不足!繼頷輸人嗎(Y/N).:請輸入電話號碼:1233455£77=££3輸入錯誤,位數(shù)過第!繼續(xù)輸人嗎(Y/N}:魏出輸人?。ㄎ澹┙Y(jié)論心得實驗過程中對于判斷條件的選擇出現(xiàn)了問題,開始時覺得要對輸入的字符一個一個的比較,這樣增加了難度也不方便實現(xiàn)。后面改成了將用戶輸入完成后的全部字符串當(dāng)做整體后再來逐位比較。如果能做成手機外形的面板并能一個一個的判斷,只要輸入錯誤字符馬上提示,那功能將更加完善。任務(wù)二撲克牌(一)設(shè)計任務(wù)與目標(biāo)任務(wù):設(shè)計一個Card類代表撲克牌,每張牌都有自己的花色和大小。創(chuàng)建一個DeskOfCards類保存54張撲克牌,設(shè)計洗牌、發(fā)一張牌、報告剩余牌數(shù)的方法。創(chuàng)建main方法測試你的程序。要求目標(biāo):實現(xiàn)洗牌和發(fā)牌。顯示當(dāng)前片面和剩余牌數(shù)。分析論證:本題目需要用到數(shù)組來存儲一副紙牌,并需要用到隨機數(shù)來代替隨機發(fā)牌,曾經(jīng)做過類似工作?,F(xiàn)在需要將產(chǎn)生的隨機數(shù)和字牌的大小和花色聯(lián)系起來,可以通過數(shù)組來實現(xiàn)。同時還要達(dá)到可以循環(huán)發(fā)牌,并有發(fā)牌信息顯示。(二)方案設(shè)計與論證根據(jù)題目要求,我準(zhǔn)備在類Card中用數(shù)組存儲一副牌(52張),考慮到撲克牌有花色和大小并都是固定的,所以用了兩個字符串?dāng)?shù)組分別初始化花色和大小,再利用下標(biāo)操作把花色和大小組合在一起,存放另在一個數(shù)組里(最終的紙牌組)。這樣就有了一副完整紙牌了。再創(chuàng)建另一個類DeskOfCard創(chuàng)建兩個Card對象,通過在循環(huán)里的條件判斷對對象進行操作:洗牌時就將紙牌數(shù)組和剩余牌數(shù)重新初始化(利用多余的那個對象)。發(fā)牌時用到隨機數(shù)產(chǎn)生器,產(chǎn)生從0到51的整數(shù)和數(shù)組小標(biāo)對應(yīng),每個元素代表一張牌。測試過程中出現(xiàn)了無法顯示牌面的問題,通過對象引用找不到具體的紙牌,后來在Card類中添加了getCard(inti)方法返回一張牌,實現(xiàn)了發(fā)牌和剩余牌數(shù),并可以多次發(fā)牌。(三)程序框圖或流程圖,程序清單與調(diào)用關(guān)系Card-card:String[]-bao:String[.-a:int+cardl:String[.■PuardZ:書ttifLgl" 十getCard(inti):StringDeskOfCard-count:int+string:String+string2:String+ro:CardO十n:CardO十main(StriLng:args):void.(四)程序運行的測試與分析從測試過程中達(dá)到了分析時的目的要求,實現(xiàn)了洗牌和發(fā)牌(顯示牌面和剩余數(shù)量)。最終結(jié)果如下圖:實驗結(jié)果截圖:Problems@Javadoc山壬□w匚1mr包ti.c-tl旦ConEoleEMDe三kO£C:=Lt~d[Jav=akpplicatioil]C:\Progi-:=unFilesIJ~:=lv:=l\jre輸入您要的操作<kipaiorfapal):fapai抽取的牌用:紅桃匚剩余撲克牌數(shù)為:51TiJarit.r.oagaini:T/TJ:i:Y輸入您要的操作<xipai□rfapai):fapai抽取的牌為:紅桃J「剩余撲克牌數(shù)為:50TiJarit.r.oagaini:Y/M:i:¥輸入您要的操作(xipai□匸fapal):xipai剩余牌數(shù):52Warittoagaini:Y/!J:i:五)結(jié)論心得實驗過程中,開始沒有將紙牌的大小和花色分開來定義,導(dǎo)致需要初始化52張牌,后倆采用了循環(huán)體將花色和大小進行組合達(dá)到了目的的同時又簡化了代碼,提高了可讀性。本來希望最后的結(jié)果可以通過圖片的方式顯示紙牌,但紙牌的原圖片兩太大,實現(xiàn)過于繁瑣,最終采用了簡單的文字表示。希望今后有機會近一步完善,達(dá)到預(yù)期效果。任務(wù)三計算器(一)設(shè)計任務(wù)與目標(biāo)任務(wù):參考第六章的實驗題TelephoneKeypad界面設(shè)計一個計算器。要求目標(biāo):實現(xiàn)輸入數(shù)字和運算字符并輸出結(jié)果結(jié)果由對應(yīng)的運算得出,實現(xiàn)基本運算能力分析論證:通過設(shè)計一個界面展示一個計算器的功能,包括輸入數(shù)字和符號并進行準(zhǔn)確的運算得出理想的結(jié)果。在第六章中的TelephoneKeypad實驗中做過類似的界面只是實現(xiàn)的功能不一樣,可在這個基礎(chǔ)上加入運算功能即可實現(xiàn)要求。(二)方案設(shè)計與論證根據(jù)題目的具體要求,我設(shè)想通過之前的TelephoneKeypad實驗進行改進,除了需要加入一些按鈕外,還要對具體的按鈕功能進行設(shè)計。在Calculator類中進行了面板的設(shè)計,之間加入了需要的各個控件,并且加了ActionListener()類來做事件的觸發(fā)類。此類中通過event.getSource()方法與相應(yīng)的按鍵進行對應(yīng),以此為判斷條件來決定做什么操作。其中包括了被運算數(shù)、運算類型、運算數(shù)還有等號的事件。為了可以輸出信息還要加入JTextField控件來顯示信息,信息通過一個字
符串變量來存取。兩個JTextField控件分上下,上面顯示最后的運算式(包括每次輸入時均要逐步顯示輸入內(nèi)容),下面顯示最后的結(jié)果并以一定的格式輸出。最后還要滿足多次輸入,因此設(shè)計了清楚按鍵,每次清楚后可以進行下一次的運在程序的調(diào)試的過程中出現(xiàn)了,輸出內(nèi)容的錯誤。不能逐一的輸出輸入的內(nèi)容,最后也沒有在上面顯示框中顯示完整的運算式。通過檢查,發(fā)現(xiàn)是字符串的添加位置和沒有將內(nèi)容在原有基礎(chǔ)上增加,而是每次更新字符串。最終通過修改解決了問題。其間,還出現(xiàn)了按鍵功能的一些的錯亂,都是小問題,多次調(diào)試后基本達(dá)到了一個簡單運算器的功能。(三)程序框圖或流程圖,程序清單與調(diào)用關(guān)系ButtonListener+actionPerformed(ActiorLE^entevent):voidButtonListener+actionPerformed(ActiorLE^entevent):void」PanelCalculator—df:DeciBa.1FoTBatjiee^ioiJTextField.jiee^io2iJTex-tFeildbiLtton:JButton[]—panel1zJPanel—panel1:JPane2—panel1iJPaneS—res~ale二doirb1e—ikiLB1:doubleikiLB2:double7-^-Huasiiaii:int—konE:int—s:SirinE—si:StTint—:StrinE+calculator:Calculator+frame:JFrame+mainCStrin呂[]args)(四)程序運行的測試與分析測試過程中進行了多次的運算,包括加、減、乘、除。每次都可以逐一輸出輸入的內(nèi)容并能得出正確的結(jié)果并輸出。清除后可以再次運算,基本達(dá)到了預(yù)期要求。最終結(jié)果如下圖:實驗結(jié)果截圖:(五)結(jié)論心得本程序因為涉及的控件很多,所以排版和引用都要十分注意,不然容易引用錯誤,導(dǎo)致引用不到你所點擊的那個按鍵等。還要注意在監(jiān)聽器里的條件判斷時相應(yīng)的操作要考慮清楚。為了界面美觀和人性化,要將按鍵的順序按一定的順序排列不能隨機添加。本程序不足的地方在于運算類型只有加減乘除,并且不能再完成一次運算后立即進行下一次運算,必須清楚后重新開始。這些不足還有待改善。相信如果改進過后,這個計算器會達(dá)到更加完善的功能和實用性。任務(wù)四憤怒的小鳥(一)設(shè)計任務(wù)與目標(biāo)任務(wù):憤怒的小鳥是一款“億人迷”的游戲,據(jù)說大家喜歡它的原因在于大家喜歡拋物線勝過直線。例題8.15-8.16是笑臉圖片直線運動的例子,請修改它在X軸和Y軸的運動軌跡,將它改成拋物線運動。要求目標(biāo):實現(xiàn)界面中小鳥打擊目標(biāo)有準(zhǔn)確的拋物線可以多次并操作簡單分析論證:在例題笑臉的運動中實現(xiàn)了圖片按照一定的像素進行平移,到達(dá)一個目標(biāo)地。所以可以以此為基礎(chǔ)進行改進。對運動中的函數(shù)進行改進,將直線運動改成拋物線。并有效開始時出現(xiàn)提示。用戶可以對圖片的出發(fā)位置進行控制。(二)方案設(shè)計與論證為了達(dá)到預(yù)期的目標(biāo),我將創(chuàng)建了一個BirdPanel類來存放各種組件,主要是存入多張圖片和一個十分重要的也是這個程序的核心一一定時器Timer。這個游戲最終可以看到的效果是圖片的移動,所以需要通過控制圖片在面板中的位置來實現(xiàn)移動。所以定時器就十分重要了,有了定時器就可以在間隔一段時間中多次觸發(fā)事件,看到的也就是圖片在不停地移動,最終到達(dá)目標(biāo)。在編寫程序過程中,發(fā)現(xiàn)需要實現(xiàn)客戶對圖片初始位置的控制比較困難。所以為了節(jié)省時間就將圖片的觸發(fā)地限制在了固定位置。每次都將從這一位置觸發(fā),并進行拋物運動后,打中目標(biāo)。這雖然使程序簡單了,可在一定程度上犧牲了部分的功能。今后還有需要改進。(三)程序框圖或流程圖,程序清單與調(diào)用關(guān)系BirdPanel一■ft'IHT}{:iTLt-}{EIG}{T:intBirdPanel一■ft'IHT}{:iTLt-}{EIG}{T:int一HELAY:iTLt-IMAGJ:mt一image:Inagelcon一 Im:ig^l<=QXL一imageS:ImagelcuTL一timEzr:一:int一y:int一Hl□耳W一TimeriiLt十paintCunpuroTierrtfGraphicspa_ge):woid □AListenex> +actiorPerformed(ActinnE^errt已vent):void(四)程序運行的測試與分析實驗測試過程完成了游戲開始提示和小鳥圖片的拋物運動,目標(biāo)被打擊后會場上變化。只是不能多次操作和隨意拖拽小鳥的起始位置,這是一段的局限。最終結(jié)果如下圖:實驗結(jié)果截圖:
五)結(jié)論心得本題目中涉及的核心內(nèi)容是定時器和圖片坐標(biāo)改變在(運動)的配合使用。通過對坐標(biāo)的改變,并結(jié)合定時器功能達(dá)到動畫效果。本程序的不足在于未能達(dá)到預(yù)期的人性化,沒法隨意開始游戲,和市場上的憤怒的小鳥存在巨大差距,這也是這個程序不成熟的地方,但是總算達(dá)到了能將圖片以拋物線運動到目的地?;旧贤瓿闪四康囊?。今后還需繼續(xù)改進完善。任務(wù)五石頭剪刀布(一)設(shè)計任務(wù)與目標(biāo)任務(wù):參考第五章的實驗題Rock,Paper,Scissors設(shè)計并實現(xiàn)一個和計算機交互的剪刀、石頭、布游戲。人和計算機各選擇一項,然后決出勝負(fù)。程序必須隨機選取一項但不表示出來,然后提示用戶選擇。當(dāng)用戶選擇后,程序同時顯示出計算機和用戶的選擇并且輸出游戲結(jié)果。游戲一直進行直到用戶退出為止,并且輸出雙方輸贏次數(shù)和總局?jǐn)?shù)。要求目標(biāo):能夠直觀顯示用戶和電腦的出拳可以多次進行游戲,知道用戶確認(rèn)退出每次都給出目前勝負(fù)情況游戲具有隨機性和準(zhǔn)確性分析論證:由于第五章中已經(jīng)編譯過類似的程序,其是通過隨機數(shù)模擬電腦出拳,在通過用戶輸入模擬自己出拳,最終來比較電腦和用戶的勝負(fù)。只要將原程序改成界面形式并加入具體相應(yīng)的圖片和用戶勝負(fù)情況的提示,其他的游戲比較與原來一致就行。(二)方案設(shè)計與論證根據(jù)題目要求需要建立一個Panel'類Fight用于存儲圖片和組件。在類
中申請了3個panel,第一個用于存放圖片,第二個用于存放按鍵,最后將這兩個放進panel3中。在panell中的圖片需要根據(jù)panel2中按鍵觸發(fā)的事件進行相應(yīng)的改變。電腦和用戶都有石頭、剪刀和布三張圖片進行變化。每次在用戶點擊按鍵石頭或剪刀或布后電腦會根據(jù)隨機數(shù)產(chǎn)生器發(fā)出的隨機數(shù)進行相應(yīng)的“出拳”,然后和用戶選擇的“出拳”進行比較輸贏。當(dāng)用戶選擇后,兩者的出拳圖會顯示在panel1中,并出現(xiàn)信息說明當(dāng)前游戲總次數(shù)和用戶和電腦各自的勝出次數(shù)。用戶可以再一次游戲介紹后繼續(xù)點擊按鍵進行多次游戲,每次重復(fù)上面功能。因為本程序是在原有基礎(chǔ)上進行的改進,前面又做過小鳥的程序,所以問題不是很大,最不應(yīng)該的是在圖片引用過程中因為圖片命名格式的原因耽誤了大量時間,導(dǎo)致實驗用時較長。最終完成的游戲還是比較完善的,幾乎達(dá)到了預(yù)期的所有要求。(三)程序框圖或流程圖,程序清單與調(diào)用關(guān)系Fightpanel1:JPauelpanel2iJPauelpanel=3=JPauelcoapML-ter:Jl>ersonzJLabelbi:Fightpanel1:JPauelpanel2iJPauelpanel=3=JPauelcoapML-ter:Jl>ersonzJLabelbi:JLabel51L1TCPUFZIE4±Ii£:i£P(guān)XK.JianZiP=Ie?Icon.KnJ?: 1■!?eaIconsh-itovBzJBVt^onji =JBut-tonbvJB: ttonEeneTator:E.AndoBtot^l:Inte:in~t(四)程序運行的測試與分析本程序運行正常,實現(xiàn)了用戶點擊按鍵嘗試相應(yīng)的圖片,同時電腦也會產(chǎn)生相應(yīng)的回應(yīng)發(fā)出它的“猜拳”,每一次都會給出當(dāng)前的游戲總局?jǐn)?shù)和用戶和電腦各自的勝利局?jǐn)?shù)。并且可以隨意進行多次,每次的隨機性和準(zhǔn)確性良好。界面也較清楚好看。最終結(jié)果如下圖:實驗結(jié)果截圖:(五)結(jié)論心得本題經(jīng)過較長時間的調(diào)試和完善,達(dá)到了預(yù)期要求和運行目標(biāo)。這是本次設(shè)計用時最長的題目花了大量時間,最后總算有所回報,到達(dá)了一個比較滿意的成果。任務(wù)六學(xué)生考勤管理系統(tǒng)一)設(shè)計任務(wù)與目標(biāo)任務(wù):考勤信息記錄了學(xué)生的缺課情況,它包括:缺課日期、第幾節(jié)課、課程名稱、學(xué)生姓名、缺課類型(遲到、早退、請假及曠課)。試設(shè)計考勤管理系統(tǒng),使之能提供以下功能:要求目標(biāo):(1)錄入學(xué)生的缺課記錄;(2)修改某個學(xué)生的缺課記錄;(3)查詢某個學(xué)生的缺課情況;(4)統(tǒng)計某段時間內(nèi),曠課學(xué)生姓名及曠課次數(shù);(5)統(tǒng)計某段時間內(nèi),有學(xué)生曠課的課程及曠課人次;分析論證:本題需要通過用戶界面來直觀的實現(xiàn)操作,操作盡量簡單方便,可以實現(xiàn)上述基本功能。主要以之前的對話框等GUI組件來實現(xiàn)用戶的交互??梢暂斎牒筒樵兿鄳?yīng)的信息以及提示信息,并可以實現(xiàn)簡單統(tǒng)計。(二)方案設(shè)計與論證本題我設(shè)計了一個主面板來承載多個panel;其中最重要的是JTabbedPane組件,它先承載了主要的按鍵及菜單和各個文本輸入框。其他的面板主要是安放在JTabbedPane上,并且要求面板中的組件按一定規(guī)律排列,用到了布局管理器。需要實現(xiàn)的功能主要是錄入、修改、查詢和統(tǒng)計信息。程序中我分塊編寫了各個功能的代碼,每個功能都將用到相應(yīng)監(jiān)聽器,通過按鍵實現(xiàn)功能。并且在panel類中用到了student類,用于保存基本的學(xué)生信息。在程序的編譯和調(diào)試過程中出現(xiàn)了許多問題。開始時面板布局凌亂,輸入信息沒有反應(yīng),并且還會出現(xiàn)報錯。在布局問題上后來用到了布局管理器,編程時將各個功能的版式按照一定的樣式統(tǒng)一設(shè)計,達(dá)到界面簡潔美觀。輸入信息沒反應(yīng)主要是事件反應(yīng)器的邏輯錯誤,經(jīng)過調(diào)整判斷條件等改正了錯誤。最后,根據(jù)老師提出的要求最程序提出了完善,可以通過姓名和學(xué)號查
詢信息,以及不會重復(fù)輸入同一個人的信息?;具_(dá)到實驗?zāi)康?。(三)程序框圖或流程圖,程序清單與調(diào)用關(guān)系(四)程序運行的測試與分析經(jīng)過調(diào)試,程序可以正常運行??梢詫崿F(xiàn)信息的輸入和查詢以及修改和統(tǒng)計信息數(shù)量。界面布局較合理,實驗截圖如下:實驗結(jié)果截圖:五)結(jié)論心得本題設(shè)計時涉及很多的組件和方法,需要將大量的組件安排到合適的位置,并且要實現(xiàn)相應(yīng)的功能。工作量較大,在完善過程中問題也很多。不過通過自己的努力和思考,最終成功的完成了實驗。實驗收獲眾多,了解了一個較復(fù)雜和大段的代碼編寫時需要耗費很大精力。參考資料【1】 【美】Johnlewis,WilliamLoftus著《Java程序設(shè)計教程》(第六版) 電子工業(yè)出版社【2】 【美】Y.DanielLiang著《Java語言程序設(shè)計》(基礎(chǔ)篇)——機械工業(yè)出版社【3】 百度知道 http:///auestion/33715635.html【4】 百度文庫 http:///view/c1be6c19c281e53a5802fff1.html致謝本次可是設(shè)計能夠完成的這樣順利需要感謝很多人,這其中就包括軟件班的王浩同學(xué)憤怒的小鳥這個程序借鑒了他的設(shè)計。還有就是本班的黃康杰的同學(xué),他在我調(diào)試程序時給出一些好的建議,幫我解決了問題。特別需要感謝的事我們的崔劍鋒老師,是您一個學(xué)期以來的嚴(yán)格要求和教導(dǎo),給我傳授知識,今天才能完成這個課程設(shè)計。在這里衷心的對這些給過幫助的人們表示感謝!附錄:全部源程序清單源代碼一:手機號碼檢測器importjava.util.Scanner;//手機號碼檢測器publicclassPhone{publicstaticvoidmain(String[]args){Stringphone,str;chary;intx,m,a;Scannerscan=newScanner(System.in);do{m=0;a=0;System.out.println("請輸入電話號碼:");phone=scan.next();x=phone.length();if(x<11)System.out.println("輸入錯誤,位數(shù)不足!");elseif(x>11)System.out.println("輸入錯誤,位數(shù)過多!");elseif(x==11){for(inti=0;i<11;i++){y=phone.charAt(i);if(y>='0'&&y<='9'){a++;elsem=i+1;}if(a==11)System.out.println("輸入完成!");else{System.out.println("輸入錯誤!");System.out.println("第"+m+"位輸入錯誤字符"+phone.charAt(m-1));}}System.out.print("繼續(xù)輸入嗎(Y/N):");str=scan.next();}while(str.equals("Y"));System.out.println("退出輸入!");}}源代碼二:撲克牌//*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^////Card.java//主類定義紙牌的花色和大小//*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*A**A**A**A**A**A*//publicclassCardprivateString[]card,bao;privateinta=0;publicCard(){String[]card1={"黑桃","紅桃","梅花","方塊"};//定義兩個數(shù)組用于組String[]card2={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};card=newString[52];bao=newString[52];for(inti=0;i<4;i++){for(intj=0;j<13;j++){card[a]=card1[i].concat(card2[j]);bao[a]=card[a];a++;}}}publicStringgetCard(inti){returncard[i];}importjava.util.Scanner;publicclassDeskOfCard{privatestaticintcount=52;publicstaticvoidmain(String[]args){Stringstring,string2;Cardm=newCard();Cardn=newCard();//這里設(shè)定52張牌Scannerscan=newScanner(System.in);do{System.out.println("輸入您要的操作(xipaiorfapai):");string=scan.next();if(string.equals("xiapi")){m=n;//初始化牌組count=52;//重新設(shè)定計數(shù)器System.out.println("剩余牌數(shù):"+count);}elseif(string.equals("fapai")){if(count!=0)//判定牌是否發(fā)完{count--;intr=(int)(Math.random()*52);//獲取隨即數(shù)System.out.println("抽取的牌為:"+m.getCard(r)+",剩余撲克牌數(shù)為:"+count);//輸出撲克牌} //從ArrayList中去掉已抽到了撲克牌elseSystem.out.println("牌已經(jīng)抽完");}System.out.println("Wanttoagain(Y/N):");string2=scan.next();}while(string2.equals("Y"));}}源代碼三:計算器importjava.awt.*;importjava.awt.event.*;importjava.text.DecimalFormat;importjavax.swing.*;importjavax.swing.border.BevelBorder;//創(chuàng)建Calculator類,繼承自JFrame,實現(xiàn)接口ActionListenerpublicclassCalculatorextendsJPanel{//聲明相關(guān)變量、對象,具體作用下面再逐行講解privateDecimalFormatdf;privateJTextFieldjieguo,jieguo2;privateJButton[]button;privateJPanelpanel1,panel2,panel3;privatedoubleresult,num1,num2;privateintyunsuan,kong1=0;privateStrings="",s1="",s2="";publicCalculator()//構(gòu)造方法{df=newDecimalFormat("0.0000");//設(shè)置結(jié)果小數(shù)點位數(shù)jieguo=newJTextField(20);jieguo.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));jieguo.setBackground(newColor(240,245,254));jieguo.setEditable(false);jieguo2=newJTextField(20);jieguo2.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));jieguo2.setBackground(newColor(240,245,254));jieguo2.setEditable(false);panel1=newJPanel();panel1.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));panel1.setLayout(newBoxLayout(panel1,BoxLayout.Y_AXIS));panel1.setBackground(newColor(240,245,254));panel1.add(jieguo);panel1.add(jieguo2);panel2=newJPanel();panel2.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));panel2.setBackground(newColor(229,238,250));panel2.setLayout(newGridLayout(5,4,4,4));//各個按鈕的名字Stringname[]","3","+","4","5","6","-","7","8","9","*","0",".","=","/","C"};button=newJButton[name.length];for(inti二0;i<name.length;i++)//實例化各個按鈕{button[i]=newJButton(name[i]);button[i].setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));button[i].setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));button[i].setPreferredSize(newDimension(5,35));button[i].addActionListener(newButtonListener());panel2.add(button[i]);}panel3=newJPanel();panel3.setBackground(newColor(229,238,250));//設(shè)置布局管理panel3.setLayout(newBoxLayout(panel3,BoxLayout.Y_AXIS));panel3.add(panel1);panel3.add(Box.createRigidArea(newDimension(0,30)));panel3.add(panel2);add(panel3);}privateclassButtonListenerimplementsActionListener{publicvoidactionPerformed(ActionEventevent){//沒有輸入加減乘除時空=0,記錄被運算數(shù)if(kong1==0){if(event.getSource()==button[0])s1+=1;if(event.getSource()==button[1])s1+=2;if(event.getSource()==button[2])s1+=3;if(event.getSource()==button[4])s1+=4;if(event.getSource()==button[5])s1+=5;if(event.getSource()==button[6])s1+=6;if(event.getSource()==button[8])s1+=7;if(event.getSource()==button[9])s1+=8;if(event.getSource()==button[10])s1+=9;if(event.getSource()==button[12])s1+=0;if(event.getSource()==button[13])s1+=".";//當(dāng)鍵入加減乘除后,設(shè)置kong=lif(event.getSource()==button[7]||event.getSource()==button[3]||event.getSource()==button[15]||event.getSource()==button[11]){num1=Double.parseDouble(jieguo.getText());//記錄運算類型if(event.getSource()==button[3]){yunsuan=1;s1+="+";if(event.getSource()==button[7]){yunsuan=2;s1+="-";}if(event.getSource()==button[11]){yunsuan=3;s1+="*";}if(event.getSource()==button[15]){yunsuan=4;s1+="/";}kong1=1;}s=s1;jieguo.setText(s);}//此時記錄運算數(shù)if(kong1==1){if(event.getSource()==button[0])s2+=1;if(event.getSource()==button[1])s2+=2;if(event.getSource()==button[2])s2+=3;if(event.getSource()==button[4])s2+=4;if(event.getSource()==button[5])s2+=5;if(event.getSource()==button[6])s2+=6;if(event.getSource()==button[8])s2+=7;if(event.getSource()==button[9])s2+=8;if(event.getSource()==button[10])s2+=9;if(event.getSource()==button[12])s2+=0;if(event.getSource()==button[13])s2+=".";s=s1+s2;jieguo.setText(s);//重復(fù)出現(xiàn)運算數(shù)}if(event.getSource()==button[14])//當(dāng)按下等號時,設(shè)置結(jié)果label的內(nèi)容{.〃〃s+="=";jieguo.setText(s);num2=Double.parseDouble(s2);switch(yunsuan){case1:result=num1+num2;break;case2:result=num1-num2;break;case3:result=num1*num2;break;case4:if(s2.length()==1&&s2.charAt(0)=='0')/當(dāng)/初數(shù)為零時提示錯誤jieguo2.setText("0不能做除數(shù)");elseresult=num1/num2;break;}jieguo.setText(s);//輸出算式j(luò)ieguo2.setText(df.format(result));//格式化輸出結(jié)果}if(event.getSource()==button[16])//將當(dāng)前文本框內(nèi)數(shù)據(jù)清除{jieguo.setText("");jieguo2.setText("");s="";s1="";s2="";yunsuan=0;kong1=0;}}}importjavax.swing.JFrame;publicclassTestCal{publicstaticvoidmain(String[]args){Calculatorcalculator=newCalculator();JFrameframe=newJFrame("Calculator");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.getContentPane().add(calculator);frame.pack();frame.setVisible(true);}}源代碼四:憤怒的小鳥importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassBirdPanelextendsJPanel{privatefinalintWIDTH=1020,HEIGHT=620;privatefinalintDELAY=90,IMAGE_SIZE=40;privateImageIconimage,image2,image3;privateTimertimer;privateintx,y,moveX,moveY;// //設(shè)置面板,包括為了動畫引用計時器// publicBirdPanel(){timer=newTimer(DELAY,newAListener());image=newImageicon("鳥.png");image2=newImageicon("目標(biāo).gif");image3=newImageIcon("birds1.jpg");x=0;y=500;moveX=30;moveY=-30;//豎直方向向上,做拋物線需要setPreferredSize(newDimension(WIDTH,HEIGHT));setBackground(Color.WHITE);timer.start();}// //面板中顯示該有的圖片// publicvoidpaintComponent(Graphicspage){super.paintComponent(page);image3.paintIcon(this,page,330,0);image.paintIcon(this,page,x,y);image2.paintIcon(this,page,900,550);}/// /^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js//定時器的操作監(jiān)聽程序/// /^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^js^jsprivateclassAListenerimplementsActionListener{// //更新圖像的位置和可能的運動方向每當(dāng)計時器觸發(fā)操作事件//// publicvoidactionPerformed(ActionEventevent){moveY+=2; //為了做拋物線每次少提高2個像素,最終才會下落x+=moveX; //以設(shè)定好的像素移動y+=moveY;//判斷達(dá)到目標(biāo)后停止,并產(chǎn)生相應(yīng)的變化效果if(x>=WIDTH-IMAGE_SIZE){x=WIDTH-IMAGE_SIZE;}if(y>=HEIGHT-IMAGE_SIZE){y=HEIGHT-IMAGE_SIZE;image2=newImageicon("變身.jpg");image=newImageIcon("...");//小鳥消失}repaint();}}////>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*// Bird.java//// Angrybirds!////>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassBird{publicstaticvoidmain(String[]args){Stringx;x="開始憤怒的小鳥游戲?";JOptionPane.showMessageDialog(null,x);JFrameframe=newJFrame("Angrybirds");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.getContentPane().add(newBirdPanel());frame.pack();frame.setVisible(true);}}源代碼五:剪刀石頭布importjava.awt.*;importjava.awt.event.*;importjava.util.Random;importjavax.swing.*;importjavax.swing.border.BevelBorder;publicclassFightextendsJPanel{private JPanelpanel1,panel2,panel3;private JLabelcomputer,bi,person;privateImageIconShiTouP,JianZiP,BuP,kong;private JButtonshitouB,jianziB,buB;private Randomgenerator;private inttotal=0,c=0,p=0;publicFight(){generator=newRandom();//定義圖片ShiTouP=newImageicon("石頭.jpg");JianZiP=newImageicon("剪刀.jpg");BuP=newImageicon("布.jpg");kong=newImageIcon("VS.jpg");//引用圖片給電腦和用戶person=newJLabel(newImageIcon("客戶.gif"));bi=newJLabel(kong);computer=newJLabel(newImageIcon("電腦.jpg"));panel1=newJPanel();panel1.setBackground(Color.BLUE);panel1.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));panel1.setLayout(newBoxLayout(panel1,BoxLayout.X_AXIS));panel1.add(person);panel1.add(bi);panel1.add(computer);panel1.setPreferredSize(newDimension(450,180));shitouB=newJButton("石頭");shitouB.addActionListener(newMouse());jianziB=newJButton("剪刀");jianziB.addActionListener(newMouse());buB=newJButton("布");buB.addActionListener(newMouse());panel2=newJPanel();panel2.setLayout(newBoxLayout(panel2,BoxLayout.X_AXIS));panel2.add(jianziB);panel2.add(shitouB);panel2.add(buB);panel2.setPreferredSize(newDimension(450,50));panel2.setBackground(newColor(200,218,235));panel3=newJPanel();panel3.setBackground(newColor(200,218,235));panel3.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));panel3.setLayout(newBoxLayout(panel3,BoxLayout.Y_AXIS));panel3.add(panel1);panel3.add(Box.createRigidArea(newDimension(0,50)));panel3.add(panel2);add(panel3);panel3.setPreferredSize(newDimension(500,350));}privateclassMouseimplementsActionListener{publicvoidactionPerformed(ActionEventevent){intran=generator.nextInt(3);if(event.getSource()==jianziB){person.setlcon(JianZiP);//當(dāng)產(chǎn)生比較后根據(jù)結(jié)果變換圖片if(ran==0){total+=1;bi.setIcon(kong);computer.setIcon(JianZiP);}if(ran==1){total+=1;c+=1;bi.setIcon(kong);computer.setIcon(ShiTouP);}if(ran==2){total+=1;p+=1;bi.setIcon(kong);computer.setIcon(BuP);}}if(event.getSource()==shitouB){person.setIcon(ShiTouP);if(ran==0){total+=1;bi.setIcon(kong);p+=1;computer.setIcon(JianZiP);}if(ran==1){total+=1;bi.setIcon(kong);computer.setIcon(ShiTouP);}if(ran==2){total+=1;c+=1;bi.setIcon(kong);computer.setIcon(BuP);}}if(event.getSource()==buB){person.setIcon(BuP);if(ran==0){total+=1;bi.setIcon(kong);c+=1;computer.setIcon(JianZiP);}if(ran==1){total+=1;bi.setIcon(kong);p+=1;computer.setIcon(ShiTouP);}if(ran==2){total+=1;bi.setIcon(kong);computer.setIcon(BuP);}if(event.getSource()==jianziB||event.getSource()==shitouB||event.getSource()==buB){intagain=JOptionPane.showConfirmDialog(panel2,"上匕賽進行了:"+total+"次 您贏了"+p+"次 電腦贏了:"+c+"次 還要繼續(xù)玩嗎?","提示",JOptionPane.YES_N0_0PTI0N);if(again==JOptionPane.NO_OPTION)System.exit(0);}}}}//*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^////TestFight.java////*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*A**A**A**A**A**A**A**A**A*//importjavax.swing.JFrame;publicclassTestFight{publicstaticvoidmain(String[]args){Fightfight=newFight();JFrameframe=newJFrame("石頭剪刀布");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.getContentPane().add(fight);frame.pack();frame.setVisible(true);}}源代碼六://////Student.java//學(xué)生類,包括了各種屬性的設(shè)置和取值方法////publicclassStudentintxuehao,keshi;Stringxingming,kemu,leixing,riqi;keshi,StringpublicStudent(Stringxingming,intxuehao,Stringriqi,kemu,Stringleixing)keshi,String{//構(gòu)造函數(shù)this.xingming=xingming;this.xuehao=xuehao;this.riqi=riqi;this.kemu=kemu;this.keshi=keshi;this.leixing=leixing;}//各個屬性的get和set方法publicStringgetXingMing(){returnxingming;}publicvoidsetXingMing(Stringxingming){this.xingming=xingming;}publicintgetXueHao(){returnxuehao;}publicvoidsetXueHao(intxuehao){this.xuehao=xuehao;}publicStringgetRiQi(){returnriqi;}publicvoidsetRiQi(Stringriqi){this.riqi=riqi;}publicintgetKeShi(){returnkeshi;}publicvoidsetKeShi(intkeshi){this.keshi=keshi;}publicStringgetKeMu(){returnkemu;}publicvoidsetKeMu(Stringkemu){this.kemu=kemu;}publicStringgetLeiXing(){returnleixing;}publicvoidsetLeiXing(Stringleixing){this.leixing=leixing;}}//*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*A**A**A**A**A**A**A*////運行類//*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*4^*A**A**A**A**A**A**A*//importjava.awt.Dimension;importjavax.swing.JFrame;publicclassTestKaoQing{publicstaticvoid main(String[] args){JFrameframe= newJFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.getContentPane().add(newkaoqin());frame.pack();frame.setVisible(true);}}////>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*//kaoqin.java//考勤類,定義了主要的面板和功能實現(xiàn)////>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*>y*importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.util.ArrayList;importjavax.swing.border.BevelBorder;publicclasskaoqinextendsJPanel{JLabeljieguo;//統(tǒng)計功能的組件定義JButtonxAt,kAr;JTextAreaJieGuo;JPaneljieguoP,panelB,account;JLabelbackground1,background2,background3,background4;ArrayList<Student>student;JLabelxingmingl,xuehaol,riqil,keshil,kemul,leixingl;//錄入功能組件定義JTextFieldxingming11,xuehao11,riqi11,keshi11,kemu11,leixing11;Stringxingming111,xuehao111,riqi111,keshi111,kemu111,leixing111;JPanelInput,panel11,panel12,panel13,panel14,panel15,panel16;JLabelxingming2,xuehao2,riqi2,keshi2,kemu2,leixing2;//修改功能組件的定義JTextFieldxingming22,xuehao22,riqi22,keshi22,kemu22,leixing22;Stringxingming222,xuehao222,riqi222,keshi222,kemu222,leixing222;JPanelModify,panel21,panel22,panel23,panel24,panel25,panel26,panel27;JLabelxingming3,xuehao3,riqi3,keshi3,kemu3,leixing3;//查找功能組件的定義JTextFieldxingming33,xuehao33,riqi33,keshi33,kemu33,leixing33;Stringxingming333,xuehao333,riqi333,keshi333,kemu333,leixing333;JPanelFind,panel31,panel32,panel33,panel34,panel35,panel36;JButtontijiaol,xiugai2,chaxun2,chaxun3;//各個按鈕的定義JTabbedPanetb;Integercha1=null,cha2=null;publickaoqin(){background】=newJLabel("請錄入學(xué)生信息!"); //提示信息的初始化background2=newJLabel("請使用學(xué)號和姓名查詢!");background3=newJLabel("請使用學(xué)號和姓名查詢!");student=newArrayList<Student>();xingmingl二newJLabel("學(xué)生姓名:");//錄入界面各個組件的安排xuehaol二newJLabel("學(xué)生學(xué)號:");riqi1=newJLabel("缺勤日期:");keshi1=newJLabel("缺勤課時:");kemu1=newJLabel("缺勤科目:");leixing1=newJLabel("缺勤類型:");xingmingll=newJTextField(8);xingmingll.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));xuehaoll=newJTextField(8);xuehaoll.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));riqill=newJTextField(8);riqill.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));keshill=newJTextField(8);keshill.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));kemull=newJTextField(8);kemull.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));leixingll=newJTextField(8);leixingll.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));panelll=newJPanel();panelll.setBackground(newColor(230,239,255));panelll.setLayout(newBoxLayout(panelll,BoxLayout.X_AXIS));panelll.add(Box.createRigidArea(newDimension(30,l5)));panelll.add(xingmingl);panelll.add(xingmingll);panel12=newJPanel();panel12.setBackground(newColor(230,239,255));panel12.setLayout(newBoxLayout(panel12,BoxLayout.X_AXIS));panel12.add(Box.createRigidArea(newDimension(30,0)));panel12.add(xuehao1);panel12.add(xuehao11);panel13=newJPanel();panel13.setBackground(newColor(230,239,255));panel13.setLayout(newBoxLayout(panel13,BoxLayout.X_AXIS));panel13.add(Box.createRigidArea(newDimension(30,0)));panel13.add(riqi1);panel13.add(riqi11);panel14=newJPanel();panel14.setBackground(newColor(230,239,255));panel14.setLayout(newBoxLayout(panel14,BoxLayout.X_AXIS));panel14.add(Box.createRigidArea(newDimension(30,0)));panel14.add(keshi1);panel14.add(keshi11);panel15=newJPanel();panel15.setBackground(newColor(230,239,255));panel15.setLayout(newBoxLayout(panel15,BoxLayout.X_AXIS));panel15.add(Box.createRigidArea(newDimension(30,0)));panel15.add(kemu1);panel15.add(kemu11);panel16=newJPanel();panel16.setBackground(newColor(230,239,255));panel16.setLayout(newBoxLayout(panel16,BoxLayout.X_AXIS));panel16.add(Box.createRigidArea(newDimension(30,0)));panel16.add(leixing1);panel16.add(leixing11);tijiaol=newJButton("提交");tijiaol.setFont(newFont("幼圓",F(xiàn)ont.BOLD,18));tijiaol.setPreferredSize(newDimension(50,20));tijiao1.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));tijiao1.addActionListener(newButtonListener());Input=newJPanel();Input.setBackground(newColor(230,239,255));Input.setLayout(newBoxLayout(Input,BoxLayout.Y_AXIS));Input.add(Box.createRigidArea(newDimension(30,0)));Input.add(background1);Input.add(Box.createRigidArea(newDimension(0,10)));Input.add(panelll);
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小熊警察手工活動方案
- 工會創(chuàng)意禮品活動方案
- 小米公司年會策劃方案
- 小鎮(zhèn)巧婦活動方案
- 小班每月節(jié)日活動方案
- 工作五一活動方案
- 工行邀請年會活動方案
- 小班學(xué)校晚間活動方案
- 小學(xué)登革熱活動方案
- 小班雞蛋活動方案
- 血液透析容量管理理論知識考核試題及答案
- 噢!蘇珊娜教學(xué)設(shè)計
- 幸福心理學(xué)智慧樹知到答案2024年浙江大學(xué)
- 2024年黑龍江大興安嶺中考生物試題及答案1
- 畢業(yè)研究生登記表(適用于江蘇省)
- 儀器分析智慧樹知到答案2024年臨沂大學(xué)
- 云南省2023年秋季學(xué)期期末普通高中學(xué)業(yè)水平考試信息技術(shù)(含答案解析)
- 終毛發(fā)生中的表觀調(diào)控機制
- 魚菜共生新型生態(tài)項目可行性研究報告模板-立項備案
- TCUWA 20055-2022 碳砂濾池設(shè)計標(biāo)準(zhǔn)
- DL∕T 1917-2018 電力用戶業(yè)擴報裝技術(shù)規(guī)范
評論
0/150
提交評論