單元3_任務(wù)二 天氣預(yù)報(bào)信息處理程序設(shè)計(jì)._第1頁
單元3_任務(wù)二 天氣預(yù)報(bào)信息處理程序設(shè)計(jì)._第2頁
單元3_任務(wù)二 天氣預(yù)報(bào)信息處理程序設(shè)計(jì)._第3頁
單元3_任務(wù)二 天氣預(yù)報(bào)信息處理程序設(shè)計(jì)._第4頁
單元3_任務(wù)二 天氣預(yù)報(bào)信息處理程序設(shè)計(jì)._第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 Java Java 程序設(shè)計(jì)程序設(shè)計(jì)單元三:數(shù)據(jù)與異常處理程序設(shè)計(jì)單元三:數(shù)據(jù)與異常處理程序設(shè)計(jì) Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 知識目標(biāo) 掌握獲得字符創(chuàng)長度、掌握獲得字符創(chuàng)長度、比較、連接、提取、查比較、連接、提取、查詢字符串、大詢字符串、大 小寫轉(zhuǎn)化等操作的小寫轉(zhuǎn)化等操作的方法方法 掌握掌握StringBuffer對象的對象的常用方法常用方法 能力目標(biāo) 能夠能夠掌握獲得字符創(chuàng)長掌握獲得字符創(chuàng)長度、比較、連接、提取度、比較、連接、提取、查詢字符串、大小寫、查詢字符串、大小寫轉(zhuǎn)化等操作的方法轉(zhuǎn)化等操作的方法 運(yùn)用運(yùn)用StringBuffer字符串字符串進(jìn)行追加及字符化處理進(jìn)行追加及字符

2、化處理 Java Java 程序設(shè)計(jì)程序設(shè)計(jì)4任務(wù)陳述任務(wù)陳述123知識準(zhǔn)備知識準(zhǔn)備任務(wù)實(shí)施任務(wù)實(shí)施任務(wù)拓展任務(wù)拓展任務(wù)實(shí)訓(xùn)任務(wù)實(shí)訓(xùn)5 Java Java 程序設(shè)計(jì)程序設(shè)計(jì)任務(wù)描述:任務(wù)描述:設(shè)計(jì)實(shí)現(xiàn)了一個(gè)天氣預(yù)報(bào)的數(shù)據(jù)處理的功能,能提供在線的信息編輯處理,比如插入刪除和修改,以及查找、替換等功能。對天氣預(yù)報(bào)數(shù)據(jù)處理要求為:u將每日的天氣用字符串?dāng)?shù)組表示;u將每日的天氣用轉(zhuǎn)為可編輯字符串?dāng)?shù)組表示;u將每日的天氣每個(gè)空格處替換為,,在日期前加序號格式為1、2、等;u獲得5日夜間的溫度。 1. 任務(wù)陳述任務(wù)陳述 Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 2. 知識準(zhǔn)備知識準(zhǔn)備生活中的字符串生活中的字符

3、串使用使用String對象存儲字符串對象存儲字符串String類位于類位于java.lang包中,具有豐富的方法包中,具有豐富的方法計(jì)算字符串的長度、比較字符串、連接字符串、提取字符串 頻繁使用的字符串頻繁使用的字符串 “歡迎進(jìn)入歡迎進(jìn)入” “Hello World” “教育改變生活教育改變生活”String s = Hello World;String s = new String(Hello World);String s = new String(); Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 2. 知識準(zhǔn)備知識準(zhǔn)備 String類提供了類提供了length()方法,確定字符串方法,確定字符

4、串的長度的長度 注冊新用戶,要求密碼長度不能小于注冊新用戶,要求密碼長度不能小于6位位 Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 2. 知識準(zhǔn)備知識準(zhǔn)備public class Register public static void main(String args) Scanner input = new Scanner(System.in); String uname,pwd; System.out.print(請輸入用戶名:請輸入用戶名: ); uname=input.next(); System.out.print(請輸入密碼:請輸入密碼: ); pwd=input.next(); if(

5、 pwd.length()=6 ) System.out.print(注冊成功!注冊成功! ); else System.out.print(密碼長度不能小于密碼長度不能小于6位!位!); 判斷密碼長度判斷密碼長度 Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 2. 知識準(zhǔn)備知識準(zhǔn)備 計(jì)算字符串長度計(jì)算字符串長度字符串字符串長度長度調(diào)用調(diào)用length() 方法獲得方法獲得返回字符串返回字符串中的字符數(shù)中的字符數(shù)調(diào)用方法調(diào)用方法:字符串標(biāo)識符字符串標(biāo)識符.length();方法原型方法原型:public int length() Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 2. 知識準(zhǔn)備知識準(zhǔn)備 Strin

6、g類提供了類提供了equals( )方法,比較存儲方法,比較存儲在兩個(gè)字符串對象的內(nèi)容是否一致在兩個(gè)字符串對象的內(nèi)容是否一致 2、注冊成功后,實(shí)現(xiàn)登錄驗(yàn)證。用戶、注冊成功后,實(shí)現(xiàn)登錄驗(yàn)證。用戶名為名為“TOM”,密碼為,密碼為“1234567” Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 2. 知識準(zhǔn)備知識準(zhǔn)備public class Login public static void main(String args) Scanner input = new Scanner(System.in); String uname,pwd; System.out.print(請輸入用戶名:請輸入用戶名: )

7、; uname=input.next(); System.out.print(請輸入密碼:請輸入密碼: ); pwd=input.next(); if( uname.equals(TOM) & pwd.equals(1234567) ) System.out.print(登錄成功!登錄成功! ); else System.out.print(用戶名或密碼不匹配,登錄失??!用戶名或密碼不匹配,登錄失?。?; 比較用戶名和密碼比較用戶名和密碼是否正確是否正確 Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 2. 知識準(zhǔn)備知識準(zhǔn)備 equals()方法比較原理方法比較原理 “=”和和equals()有

8、什么區(qū)別呢?有什么區(qū)別呢?字符串字符串 1字符串字符串 2equals():檢查組成字符串內(nèi)容的字符是否完全一致檢查組成字符串內(nèi)容的字符是否完全一致str1str2BDQN0 x2a486c0 x2a486cBDQNstr1=str2 ?true0 x2aac83str1=str2 ?false=:判斷兩個(gè)字符串在內(nèi)存中的首地址,即判斷是否是同一個(gè)字符串對象判斷兩個(gè)字符串在內(nèi)存中的首地址,即判斷是否是同一個(gè)字符串對象 Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 2. 知識準(zhǔn)備知識準(zhǔn)備 使用使用equalsIgnoreCase()方法方法 使用使用toLowerCase()方法方法 使用使用toUpp

9、erCase( )方法方法 系統(tǒng)登錄時(shí)不考慮用戶名的大小寫問題系統(tǒng)登錄時(shí)不考慮用戶名的大小寫問題,實(shí)現(xiàn)登錄,實(shí)現(xiàn)登錄 Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 2. 知識準(zhǔn)備知識準(zhǔn)備public class Login public static void main(String args) if ( uname.equals(Jbit) & pwd.equals(Bdqn) ) System.out.print(登錄成功!登錄成功! ); else System.out.print(用戶名或密碼不匹配,登錄失??!用戶名或密碼不匹配,登錄失??!); uname. equalsIgnoreC

10、ase (Jbit ) & pwd. equalsIgnoreCase (Bdqn ) uname.toLowerCase().equals(Jbit ).toLowerCase()&pwd.toUpperCase().equals(Bdqn ).toUpperCase() Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 2. 知識準(zhǔn)備知識準(zhǔn)備青青春春無無悔悔0 1 2 3 位置位置 方方 法法說說 明明 public int indexOf(int ch) 搜索第一個(gè)出現(xiàn)的字符搜索第一個(gè)出現(xiàn)的字符chch(或字符串或字符串valuevalue)public int indexOf(St

11、ring value)public int lastIndexOf(int ch) 搜索最后一個(gè)出現(xiàn)的字符搜索最后一個(gè)出現(xiàn)的字符chch(或字符串(或字符串valuevalue)public int lastIndexOf(String value)返回出現(xiàn)第一個(gè)匹配的位置,返回出現(xiàn)第一個(gè)匹配的位置, 如果沒如果沒有找到字符或字符串,則返回有找到字符或字符串,則返回-1 Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 2. 知識準(zhǔn)備知識準(zhǔn)備beginindex: 字符串的位置從字符串的位置從0開始算;開始算;endindex: 字符串的位置從字符串的位置從1開始算開始算 方方 法法 說說 明明publi

12、c String substring(int index)提取從位置索引開始的字符串部分提取從位置索引開始的字符串部分public String substring(int beginindex, int endindex)提取提取beginindexbeginindex和和endindexendindex之間的字符之間的字符串部分串部分public String trim()返回一個(gè)前后不含任何空格的調(diào)用字符返回一個(gè)前后不含任何空格的調(diào)用字符串的副本串的副本 Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 2. 知識準(zhǔn)備知識準(zhǔn)備 合法的文件名應(yīng)該以合法的文件名應(yīng)該以.java結(jié)尾結(jié)尾 合法的郵箱名中至

13、少要包含合法的郵箱名中至少要包含“”和和“.”, 并檢查并檢查“”是否在是否在“.”之前之前 判斷判斷.java文件名是否正確,判斷郵箱格文件名是否正確,判斷郵箱格式是否正確式是否正確 Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 2. 知識準(zhǔn)備知識準(zhǔn)備 /檢查檢查Java文件名文件名 int index = fileName.lastIndexOf(.); if(index!=-1 & index!=0 & fileName.substring(index+1, fileName.length().equals(java) fileCorrect = true; elseSystem

14、.out.println(文件名無效。文件名無效。); /檢查你的郵箱格式檢查你的郵箱格式if (email.indexOf() !=- 1 & email.indexOf(.) email.indexOf()emailCorrect = true;elseSystem.out.println(Email無效。無效。); Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 2. 知識準(zhǔn)備知識準(zhǔn)備String word = Hello, ;word = word.trim();String s = word.concat(小魚兒小魚兒!);int index1 = s.indexOf(,);int i

15、ndex2 = s.indexOf(!);System.out.println(s.substring(_, _);index1+1index2 如果要打印輸出如果要打印輸出“小魚兒小魚兒”,應(yīng)填入,應(yīng)填入的代碼是什么?的代碼是什么? Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 2. 知識準(zhǔn)備知識準(zhǔn)備 String類提供了類提供了split()方法,將一個(gè)字符串分方法,將一個(gè)字符串分割為子字符串,結(jié)果作為字符串?dāng)?shù)組返回割為子字符串,結(jié)果作為字符串?dāng)?shù)組返回有一段歌詞,每句都以空格有一段歌詞,每句都以空格“ ”結(jié)尾,結(jié)尾,請將歌詞每句按行輸出請將歌詞每句按行輸出 Java Java 程序設(shè)計(jì)程序設(shè)計(jì)pu

16、blic class Lyric public static void main(String args) String words=長亭外長亭外 古道邊古道邊 芳草碧連天芳草碧連天 晚風(fēng)扶晚風(fēng)扶 柳笛聲殘柳笛聲殘 夕陽山外山夕陽山外山; String printword=new String100; System.out.println(*原歌詞格式原歌詞格式*n+words); System.out.println(n*拆分后歌詞格式拆分后歌詞格式*); printword=words.split( ); for(int i=0;i0;i=i-3) str.insert(i,); Syst

17、em.out.print(str); 從后往前每隔三位添加逗號從后往前每隔三位添加逗號獲取長度獲取長度 Java Java 程序設(shè)計(jì)程序設(shè)計(jì) 2. 知識準(zhǔn)備知識準(zhǔn)備在在StringBuffer類中存在很多和類中存在很多和String類一樣的方類一樣的方法,這些方法在功能上和法,這些方法在功能上和String類中的功能是完全一類中的功能是完全一樣的。但是有一個(gè)最顯著的區(qū)別在于,對于樣的。但是有一個(gè)最顯著的區(qū)別在于,對于StringBuffer對象的每次修改都會改變對象自身,這點(diǎn)對象的每次修改都會改變對象自身,這點(diǎn)是和是和String類最大的區(qū)別。類最大的區(qū)別。 Java Java 程序設(shè)計(jì)程序設(shè)

18、計(jì)3.1 3.1 解決步驟解決步驟(1) 打開Eclipse,創(chuàng)建一個(gè)類WeatherForcast;(2) 聲明一個(gè)String類的對象WeatherForcast;(3) 利用String類的求長度、查找子字符串,并將天氣預(yù)報(bào)的內(nèi)容按天分為兩個(gè)String對象;(4) 用數(shù)組表示兩個(gè)String對象;(5) 利用String類實(shí)現(xiàn)查找替換獲取長度等操作;(6) 利用StringBuffer實(shí)現(xiàn)追加和刪除等操作;(7) 創(chuàng)建測試類,運(yùn)行程序; 3. 任務(wù)實(shí)施任務(wù)實(shí)施 Java Java 程序設(shè)計(jì)程序設(shè)計(jì)3.2 3.2 任務(wù)代碼任務(wù)代碼public class WeatherForcast p

19、ublic static String splite(String weatherData, String dateOfWeather) String eachDayOfReport = new String2; / 存放每天的天氣情況存放每天的天氣情況eachDayOfReport = weatherData.split(dateOfWeather); eachDayOfReport1 = dateOfWeather + eachDayOfReport1; return eachDayOfReport; 3. 任務(wù)實(shí)施任務(wù)實(shí)施 Java Java 程序設(shè)計(jì)程序設(shè)計(jì)public static

20、void getNightTemperature(String data, String night) int begin = data.indexOf(night);int end = 0;for (int i = 0; i 3; i+) / 向后移向后移3個(gè)個(gè),,返回索引,返回索引begin = data.indexOf(, begin + 1);end = data.indexOf(, begin + 1);System.out.println(溫度溫度: + data.substring(begin + 1, end);/ 顯示顯示夜間溫度夜間溫度/ 獲得夜間溫度獲得夜間溫度 3. 任

21、務(wù)實(shí)施任務(wù)實(shí)施 Java Java 程序設(shè)計(jì)程序設(shè)計(jì)String eachDayOfReport = new String2;/ 存放每天的天氣存放每天的天氣eachDayOfReport = splite(weatherforcast, 6日日);for (int count = 0; count eachDayOfReport.length; count+)System.out.println(eachDayOfReportcount);StringBuffer stb = new StringBuffer(eachDayOfReport0),new StringBuffer(eachDa

22、yOfReport1) ; / 創(chuàng)建可編輯字符串?dāng)?shù)組創(chuàng)建可編輯字符串?dāng)?shù)組for (int i = 0; i stb.length; i+) String modifiedText = (stbi.toString().replaceAll( , ,);stbi.replace(0, stbi.capacity(), );stbi.append(modifiedText);/ 追加修改后的文本追加修改后的文本stbi.append(3級級);/ 追加微風(fēng)追加微風(fēng)3級級int b = stbi.toString().indexOf();stbi.delete(b, b + .length();/

23、刪除第一個(gè)刪除第一個(gè)stbi.insert(0, Integer.toString(i + 1) + 、);/ 插入序號插入序號 上面上面x 3. 任務(wù)實(shí)施任務(wù)實(shí)施 Java Java 程序設(shè)計(jì)程序設(shè)計(jì)4. 任務(wù)拓展任務(wù)拓展StringTokenizer類的構(gòu)造方法及描述類的構(gòu)造方法及描述uStringTokenizer(String str) 為字符串為字符串str構(gòu)造一個(gè)字符串分析器。使用默認(rèn)的定構(gòu)造一個(gè)字符串分析器。使用默認(rèn)的定界符,即空格符(如果有多個(gè)連續(xù)的空格符,則界符,即空格符(如果有多個(gè)連續(xù)的空格符,則看作是一個(gè))、換行符、回車符、看作是一個(gè))、換行符、回車符、Tab符號等。符號等。uStringTokenizer(String str, String delim) 為字符串為字符串str構(gòu)造一個(gè)字符串分析器,并使用字符串構(gòu)造一個(gè)字符串分析器,并使用字符串delim作為定界符。作為定界符。 Java Java 程序設(shè)計(jì)程序設(shè)計(jì)4. 任務(wù)拓展任務(wù)拓展StringTokenizer

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論