




已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
實驗 10 Java的常用工具類實驗?zāi)康?:(1) 了解 Java 的預(yù)定義類 ; (2) 學(xué)習使用 Java 的常用類 ; (3) 掌握方法覆蓋的使用。實驗任務(wù) :在該實驗中包含 3 個練習 , 分別是針對 Java 中的 Math 類 , 基本類型的包裝類 , 日期類 Date 和 Calendar 以及動態(tài)數(shù)組 Vector 類 , 通過這些練習仔細體會這些常用的 Java 類的使用方法。實驗步驟 :1. 練習 1 Math 類和基本類型的包裝類在這個練習里 , 將練習使用 Math 類和基本類型的包裝類 ,Math 類中包含有許多常用的數(shù)學(xué)方法如求絕對值 abs() 、正弦值 sin() 、兩數(shù)當中的較大者 max(x, y), 而基本類型的包裝類則允許將基本的數(shù)據(jù)類型包裝成一個類 , 并訪問其中的方法。程序的運行結(jié)果如圖 7-3所示。(1) 請按程序清單1-10-1, 輸入下面的 MathTest.java 源程序。程序清單1-10-1 MathTest.java/ MathTest.javaimport java.util.*;public class MathTest public static void main(String args) Scanner scanner = new Scanner(System.in); int intData; double doubleData; String intString, doubleString; System.out.print(請輸入整數(shù)x和實數(shù)y: ); intData = scanner.nextInt( ); /以字符串方式輸入實數(shù) doubleString = scanner.next( ); /創(chuàng)建整數(shù)對象intObject Integer intObject = new Integer(intData); /返回字符串所對應(yīng)的數(shù)值 doubleData = Double.parseDouble(doubleString); intData = intOValue( ); /將整數(shù)對象的值以字符串形式輸出 intString = intObject.toString( ); System.out.println(你的輸入是: + intString + , + doubleData); /開始調(diào)用Math類的方法進行運算 int intData1 = Math.abs(intData); System.out.println(abs(x)x的絕對值: +Math.abs(intData); System.out.println(ceil(y)y向上取整: +Math.ceil(doubleData); System.out.println(floor(y)y向下取整:+Math.floor(doubleData); System.out.println(exp(x)e的x次冪: + Math.exp(intData); System.out.println(log(x)x的自然對數(shù):+ Math.log(intData1); System.out.println(max(x,y)x和y中的較大者:+ Math.max(intData,doubleData); System.out.println(min(x,y)x和y中的較小者:+ Math.min(intData,doubleData); System.out.println(sin(x)x的正弦值: + Math.sin(intData); System.out.println(cos(x)x的余弦值: + Math.cos(intData); System.out.println(以x為半徑的圓面積:+ Math.PI*intData*intData);(2) 編輯 Birthday.java 程序并保存 , 然后在Eclipse 環(huán)境中編譯運行它 ,觀察程序運行結(jié)果。結(jié)果如下:思考(1) 請問程序中Math類中的方法為什么可以直接用類名來訪問?答:因為Math的方法定義為靜態(tài)類型的所以可以通過類名或者類的實例對象來訪問?。?)請調(diào)用Math類的方法以產(chǎn)生一個隨機數(shù),然后求隨機數(shù)的正弦值和余弦值。答:改源代碼為:1. public class MathTest 2.3. public static void main(String args) 4.5. /Scanner scanner = new Scanner(System.in);6.7. int intData;8. double doubleData; 9. String intString, doubleString;10.11. System.out.print(請輸入整數(shù)x和實數(shù)y: );12. intData=(int)(Math.random()*100);13. doubleData=Math.random()*100;14. /創(chuàng)建整數(shù)對象intObject15. Integer intObject = new Integer(intData);16. intData = intOValue( );17. /將整數(shù)對象的值以字符串形式輸出18. intString = intObject.toString( );19. (部分代碼省略)輸出結(jié)果:2.練習2 日期類Date和Calendar在這個練習里用戶將會學(xué)習使用Java中常用的操縱時間的類Date和Calendar以及控制日期輸入輸出格式的類DateFormat,程序會要求用戶以規(guī)范的格式輸入自己的生日日期,然后將使用Date類和Calendar類和Calendar類中的方法計算出用戶的生日是星期幾,用戶的年齡以及出聲的年份是否是閏年。(1) 請按程序清單1-10-2 輸入下面的Birthday.java源程序。程序清單1-10-2 Birthday.javaimport java.util.*; / Date,Calendar,Scannerimport java.text.*; / SimpleDateFormatpublic class Birthday public static void main(String args) throws ParseException String birthday, dayOfWeek= ;Date date;Calendar calendar;Scanner scanner = new Scanner(System.in);System.out.println(請輸入你的生日日期:yyyy-MM-dd);birthday = scanner.next( );/創(chuàng)建一個日期格式對象 SimpleDateFormat dateFormat = new SimpleDateFormat(yyyy-MM-dd);/獲得一個包含當前日期和時間的Calendar子類的實例 calendar = Calendar.getInstance();int currentYear = calendar.get(Calendar.YEAR);/按輸入的birthday產(chǎn)生一個Date對象date = dateFormat.parse(birthday);/將date對象的值傳遞給calendar對象calendar.setTime(date); int days = calendar.get(Calendar.DAY_OF_WEEK); switch( days ) case 1: dayOfWeek = 星期日;break; case 2: dayOfWeek = 星期一;break; case 3: dayOfWeek = 星期二;break; case 4: dayOfWeek = 星期三;break; case 5: dayOfWeek = 星期四;break; case 6: dayOfWeek = 星期五;break; case 7: dayOfWeek = 星期六;break; System.out.println(你的生日是: + dayOfWeek);int birthYear = calendar.get(Calendar.YEAR);if (birthYear%4=0)&(birthYear%100!=0)|(birthYear%400=0) System.out.println(birthYear + 年: 是閏年); else System.out.println(birthYear + 年: 不是閏年); int age = currentYear-birthYear; System.out.println(你現(xiàn)在是: + age + 歲); (2) 編輯Birthday.java源程序并保存,然后在Eclipse 環(huán)境中編譯運行它,觀察程序運行結(jié)果。結(jié)果:思考(1) 請問程序Brithday.java中的語句 :SimpleDateFormat dateFormat=new SimpleDateFormat(yyyy-MM-dd);的作用是什么 , 請查詢 DateFormat 類中是否還有其他的日期格式。答:SimpleDateFormat dateFormat=new SimpleDateFormat(yyyy-MM-dd);的作用是創(chuàng)建一個日期格式對象;DateFormat 類中其他的日期格式如下表:Date and Time Pattern Result yyyy.MM.dd G at HH:mm:ss z 2001.07.04 AD at 12:08:56 PDT EEE, MMM d, yy Wed, Jul 4, 01 h:mm a 12:08 PM hh oclock a, zzzz 12 oclock PM, Pacific Daylight Time K:mm a, z 0:08 PM, PDT yyyyy.MMMMM.dd GGG hh:mm aaa 02001.July.04 AD 12:08 PM EEE, d MMM yyyy HH:mm:ss Z Wed, 4 Jul 2001 12:08:56 -0700 yyMMddHHmmssZ 010704120856-0700 yyyy-MM-ddTHH:mm:ss.SSSZ 2001-07-04T12:08:56.235-0700 (1) 程序中的 switch 語句用于判斷星期幾 , 現(xiàn)在請將該 switch 語句中的 break 語句全部刪除 , 然后編譯運行程序 , 觀察會有什么結(jié)果 , 并說明原因。答:輸入不同的出生時間,生日輸出結(jié)果都會是星期六。原因是switch語句中的沒有break語句,就不能執(zhí)行一次case后跳出switch語句,程序就會一直執(zhí)行到switch最后的語句dayOfWeek = 星期六;。(2) 在輸入了正確的生日日期后 , 程序能返回用戶的年齡 , 現(xiàn)在請修改程序 , 以返回用戶的生日日期與當前日期之間相距多少天。答:在switch語句后增加代碼:long daysOfYear = Calendar.getInstance().getTimeInMillis()/86400000 - date.getTime()/86400000-1; /用立即數(shù),減少乘法計算的開銷以及在代碼行System.out.println(你現(xiàn)在是: + age + 歲);后緊跟代碼System.out.println(你的生日日期與當前日期之間相距+daysOfYear+天。);結(jié)果如下:(4) 請查詢 Calendar 類的相關(guān)方法以顯示出當前的精確日期和時間 ( 包括年、月、日、小時、分鐘、秒 )。import java.util.*; / Date,Calendar,Scannerimport java.text.*; / SimpleDateFormat(省略部分代碼)/獲得一個包含當前日期和時間的Calendar子類的實例 calendar = Calendar.getInstance();int currentYear = calendar.get(Calendar.YEAR);int currentMonth = calendar.get(Calendar.MONTH)+1;int currentDayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);int currentHour = calendar.get(Calendar.HOUR);int currentMinute = calendar.get(Calendar.MINUTE);int currentSencond = calendar.get(Calendar.SECOND);/按輸入的birthday產(chǎn)生一個Date對象date = dateFormat.parse(birthday);(省略部分代碼) System.out.println(你現(xiàn)在是: + age + 歲); System.out.println(當前的精確時間是: +currentYear+年+ currentMonth+月+currentDayOfMonth+日+ currentHour+:+ currentMinute+:+currentSencond);3. 練習 3 動態(tài)數(shù)組 Vector 類在這個練習里 , 用戶將練習使用 Vector 類 ,Vector 類是一個動態(tài)數(shù)組 , 能根據(jù)實際需要動態(tài)地擴充數(shù)組的大小 , 同時 Vector 類中還包含許多方法來操縱數(shù)組中的元素 , 程序中有一個 Vector 數(shù)組 , 里面包含有幾個事先定義的城市名 , 同時 , 可以在該數(shù)組中增加幾個新的城市名 , 并進行一些交互性的操作。在這一過程中 , 仔細體會 Vector 數(shù)組的用法。該程序的運行結(jié)果如圖 7-5 所示。 請按程序清單 1-10-3 輸入下面的 CityVector.java 源程序。程序清單 1-10-3 CityVector.java/ CityVector.javaimport java.util.*;public class CityVector static String city = 北京, 上海, 廣州, 深圳 ; public CityVector( ) Vector vector = new Vector(6); Scanner scanner = new Scanner(System.in); String cityName; int index; for ( int i = 0; i city.length; i+ ) vector.add( cityi ); ; / 顯示出數(shù)組信息 displayVector(vector); System.out.print(n請輸入數(shù)組索引號: ); index = scanner.nextInt( ); cityName = (String)vector.get(index); System.out.println(數(shù)組+index+的元素值是: +cityName); System.out.print(n請再輸入3個你喜歡的城市: ); for ( int i = 0; i 3; i+ ) cityName = scanner.next(); vector.add(cityName); displayVector(vector); System.out.print(n請輸入一個你想查詢的城市名: ); cityName = scanner.next( ); if ( vector.contains(cityName) ) System.out.println( 在數(shù)組中找到: +cityName+ 下標是: + vector.indexOf(cityName); else System.out.println( 在數(shù)組中沒有找到: +cityName ); System.out.print(n請輸入一個你想刪除的城市名: ); cityName = scanner.next( ); vector.remove(cityName); System.out.println(cityName + 已被刪除); displayVector(vector); public void displayVector( Vector vector ) System.out.println( n數(shù)組大小: + vector.size() + n數(shù)組容量: + vector.capacity() ); if ( vector.isEmpty() ) System.out.print( 數(shù)組為空 ); else System.out.print( 數(shù)組包含: ); Enumera
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 細致分析主管護師考試試題及答案
- 班級自我評價機制的建立計劃
- 醫(yī)療行業(yè)中的數(shù)據(jù)安全區(qū)塊鏈技術(shù)的應(yīng)用與挑戰(zhàn)
- 護士執(zhí)業(yè)考試高效復(fù)習策略試題及答案
- 勞動教育中的手工藝術(shù)課程建設(shè)與實施策略
- 2025汽車租賃擔保合同
- 公共管理中的文化認同考試試題及答案
- 醫(yī)療設(shè)備安全監(jiān)管的商業(yè)價值與實踐
- 博物館教育與文化傳播試題及答案
- 2025年行政管理??频闹袊幕诵脑囶}及答案
- 上海2025年上海交通大學(xué)醫(yī)學(xué)院招聘72人筆試歷年參考題庫附帶答案詳解
- GB/T 45135-2024鈦合金板材超塑成形和擴散連接件通用技術(shù)規(guī)范
- 臨床內(nèi)鏡下粘膜剝離術(shù)(ESD)護理要點及健康教育
- 【含聽力9英一模】合肥市蜀山區(qū)2024年中考一模英語
- 人有遠近情有親疏-《差序格局》說課稿 2024-2025學(xué)年統(tǒng)編版高中語文必修上冊
- 保利拍賣行合同模板
- 小學(xué)一年級數(shù)學(xué)計算題共10087題
- 開發(fā)綠色建筑材料的研究與應(yīng)用
- DB22T 2004-2014 空氣甲醛現(xiàn)場檢測儀
- 國家建設(shè)部110號文件《住宅室內(nèi)裝飾裝修管理辦法》
- 第五課+弘揚勞動精神、勞模精神、工匠精神【中職專用】中職思想政治《職業(yè)道德與法治》高效課堂(高教版2023·基礎(chǔ)模塊)
評論
0/150
提交評論