單元3任務二天氣預報信息處理程序設計_第1頁
單元3任務二天氣預報信息處理程序設計_第2頁
單元3任務二天氣預報信息處理程序設計_第3頁
單元3任務二天氣預報信息處理程序設計_第4頁
單元3任務二天氣預報信息處理程序設計_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

任務二:天氣預報信息處理程序設計單元三:數(shù)據(jù)與異常處理程序設計教學目標知識目標掌握獲得字符創(chuàng)長度、比較、連接、提取、查詢字符串、大小寫轉(zhuǎn)化等操作的方法

掌握StringBuffer對象的常用方法能力目標能夠掌握獲得字符創(chuàng)長度、比較、連接、提取、查詢字符串、大小寫轉(zhuǎn)化等操作的方法運用StringBuffer字符串進行追加及字符化處理教學內(nèi)容4任務陳述123知識準備任務實施任務拓展任務實訓5任務描述:設計實現(xiàn)了一個天氣預報的數(shù)據(jù)處理的功能,能提供在線的信息編輯處理,比如插入刪除和修改,以及查找、替換等功能。對天氣預報數(shù)據(jù)處理要求為:將每日的天氣用字符串數(shù)組表示;將每日的天氣用轉(zhuǎn)為可編輯字符串數(shù)組表示;將每日的天氣每個空格處替換為",",在日期前加序號格式為1、2、等;獲得5日夜間的溫度。1.任務陳述2.知識準備生活中的字符串使用String對象存儲字符串String類位于java.lang包中,具有豐富的方法計算字符串的長度、比較字符串、連接字符串、提取字符串頻繁使用的字符串“歡迎進入”“HelloWorld”“教育改變生活”Strings="HelloWorld";Strings=newString("HelloWorld");Strings=newString();2.知識準備String類提供了length()方法,確定字符串的長度注冊新用戶,要求密碼長度不能小于6位2.知識準備publicclassRegister{ publicstaticvoidmain(String[]args){ Scannerinput=newScanner(System.in); Stringuname,pwd; System.out.print("請輸入用戶名:"); uname=input.next(); System.out.print("請輸入密碼:"); pwd=input.next(); if(pwd.length()>=6){ System.out.print("注冊成功!"); }else{ System.out.print("密碼長度不能小于6位!"); } }}判斷密碼長度2.知識準備計算字符串長度字符串長度調(diào)用length()方法獲得返回字符串中的字符數(shù)調(diào)用方法:字符串標識符.length();方法原型:publicintlength(){}2.知識準備String類提供了equals()方法,比較存儲在兩個字符串對象的內(nèi)容是否一致2、注冊成功后,實現(xiàn)登錄驗證。用戶名為“TOM”,密碼為“1234567”2.知識準備publicclassLogin{ publicstaticvoidmain(String[]args){ Scannerinput=newScanner(System.in); Stringuname,pwd; System.out.print("請輸入用戶名:"); uname=input.next(); System.out.print("請輸入密碼:"); pwd=input.next(); if(uname.equals("TOM")&&pwd.equals("1234567")){ System.out.print("登錄成功!"); }else{ System.out.print("用戶名或密碼不匹配,登錄失敗!"); } }}比較用戶名和密碼是否正確2.知識準備equals()方法比較原理“==”和equals()有什么區(qū)別呢?字符串1字符串2equals():檢查組成字符串內(nèi)容的字符是否完全一致str1str2BDQN0x2a486c0x2a486cBDQNstr1==str2?true0x2aac83str1==str2?false==:判斷兩個字符串在內(nèi)存中的首地址,即判斷是否是同一個字符串對象2.知識準備使用equalsIgnoreCase()方法使用toLowerCase()方法使用toUpperCase()方法系統(tǒng)登錄時不考慮用戶名的大小寫問題,實現(xiàn)登錄2.知識準備publicclassLogin{ publicstaticvoidmain(String[]args){ …

if(uname.equals("Jbit")&&pwd.equals("Bdqn")){

System.out.print("登錄成功!"); }else{ System.out.print("用戶名或密碼不匹配,登錄失?。?); } }}uname.equalsIgnoreCase("Jbit

")&&pwd.equalsIgnoreCase("Bdqn

")

uname.toLowerCase().equals(("Jbit

").toLowerCase())&&pwd.toUpperCase().equals(("Bdqn

").toUpperCase())2.知識準備青春無悔0123

位置方法說明publicintindexOf(intch)搜索第一個出現(xiàn)的字符ch(或字符串value)publicintindexOf(Stringvalue)publicintlastIndexOf(intch)搜索最后一個出現(xiàn)的字符ch(或字符串value)publicintlastIndexOf(Stringvalue)返回出現(xiàn)第一個匹配的位置,如果沒有找到字符或字符串,則返回-12.知識準備beginindex:字符串的位置從0開始算;endindex:字符串的位置從1開始算方法

說明publicStringsubstring(intindex)提取從位置索引開始的字符串部分publicStringsubstring(intbeginindex,intendindex)提取beginindex和endindex之間的字符串部分publicStringtrim()返回一個前后不含任何空格的調(diào)用字符串的副本2.知識準備合法的文件名應該以.java結(jié)尾合法的郵箱名中至少要包含“@”和“.”,并檢查“@”是否在“.”之前判斷.java文件名是否正確,判斷郵箱格式是否正確2.知識準備

//檢查Java文件名

intindex=fileName.lastIndexOf(".");

if(index!=-1&&index!=0&&fileName.substring(index+1,fileName.length()).equals("java")){ fileCorrect=true;}else{ System.out.println("文件名無效。");

}//檢查你的郵箱格式if(email.indexOf('@')!=-1&&email.indexOf('.')>email.indexOf('@')){ emailCorrect=true;}else{ System.out.println("Email無效。");}2.知識準備Stringword="Hello,";word=word.trim();Strings=word.concat("小魚兒!");intindex1=s.indexOf(',');intindex2=s.indexOf('!');System.out.println(s.substring(______,_______));index1+1index2如果要打印輸出“小魚兒”,應填入的代碼是什么?2.知識準備String類提供了split()方法,將一個字符串分割為子字符串,結(jié)果作為字符串數(shù)組返回有一段歌詞,每句都以空格“”結(jié)尾,請將歌詞每句按行輸出publicclassLyric{ publicstaticvoidmain(String[]args){ Stringwords="長亭外古道邊芳草碧連天晚風扶柳笛聲殘夕陽山外山"; String[ ]printword=newString[100]; System.out.println("***原歌詞格式***\n"+words); System.out.println("\n***拆分后歌詞格式***");

printword=words.split("");

for(inti=0;i<printword.length;i++){ System.out.println(printword[i]); } }}拆分字符串,返回值為字符串數(shù)組遍歷輸出字符串2.知識準備StringBuffer:不可變的String增強版StringBuffer聲明StringBuffer的使用StringBuffersb=newStringBuffer();StringBuffersb=newStringBuffer("aaa");創(chuàng)建空StringBuffer對象創(chuàng)建一個變量存儲字符串a(chǎn)aasb.toString();//轉(zhuǎn)化為String類型sb.append("**");//追加字符串2.知識準備publicclasssbAppend{ publicstaticvoidmain(String[]args){

StringBuffersb=newStringBuffer("青春無悔");

intnum=110;

StringBuffersb1=sb.append("我心永恒");

System.out.println(sb1);

StringBuffersb2=sb1.append('啊');

System.out.println(sb2);

StringBuffersb3=sb2.append(num);

System.out.println(sb3); }}相當于sb3.toString()2.知識準備利用StringBuffer類的length()和insert()方法實現(xiàn)需求將一個數(shù)字字符串轉(zhuǎn)換成逗號分隔的數(shù)字串,即從右邊開始每三個數(shù)字用逗號分隔2.知識準備publicclassTestInsert{ publicstaticvoidmain(String[]args){ Scannerinput=newScanner(System.in); System.out.print("請輸入一串數(shù)字:"); Stringnums=input.next(); StringBufferstr=newStringBuffer(nums); for(inti=str.length()-3;i>0;i=i-3){

str.insert(i,','); } System.out.print(str); }}從后往前每隔三位添加逗號獲取長度2.知識準備

在StringBuffer類中存在很多和String類一樣的方法,這些方法在功能上和String類中的功能是完全一樣的。但是有一個最顯著的區(qū)別在于,對于StringBuffer對象的每次修改都會改變對象自身,這點是和String類最大的區(qū)別。3.1解決步驟(1)打開Eclipse,創(chuàng)建一個類WeatherForcast;

(2)聲明一個String類的對象WeatherForcast;

(3)利用String類的求長度、查找子字符串,并將天氣預報的內(nèi)容按天分為兩個String對象;

(4)用數(shù)組表示兩個String對象;

(5)利用String類實現(xiàn)查找替換獲取長度等操作;

(6)利用StringBuffer實現(xiàn)追加和刪除等操作;

(7)創(chuàng)建測試類,運行程序;3.任務實施3.2任務代碼publicclassWeatherForcast{publicstaticString[]splite(StringweatherData,StringdateOfWeather){

StringeachDayOfReport[]=newString[2];//存放每天的天氣情況eachDayOfReport=weatherData.split(dateOfWeather);eachDayOfReport[1]=dateOfWeather+eachDayOfReport[1];returneachDayOfReport; }3.任務實施publicstaticvoidgetNightTemperature(Stringdata,Stringnight){ intbegin=data.indexOf(night); intend=0;

for(inti=0;i<3;i++){//向后移3個",",返回索引 begin=data.indexOf(",",begin+1); end=data.indexOf(",",begin+1);}System.out.println("溫度:"+data.substring(begin+1,end));//顯示夜間溫度 }//獲得夜間溫度

3.任務實施StringeachDayOfReport[]=newString[2];//存放每天的天氣eachDayOfReport=splite(weatherforcast,"6日");

for(intcount=0;count<eachDayOfReport.length;count++)System.out.println(eachDayOfReport[count]);StringBufferstb[]={newStringBuffer(eachDayOfReport[0]),newStringBuffer(eachDayOfReport[1])};//創(chuàng)建可編輯字符串數(shù)組 for(inti=0;i<stb.length;i++){

StringmodifiedText=(stb[i].toString()).replaceAll("",","); stb[i].replace(0,stb[i].capacity(),""); stb[i].append(modifiedText);//追加修改后的文本 stb[i].append("3級");//追加微風3級 intb=stb[i].toString().indexOf("℃"); stb[i].delete(b,b+"℃".length());//刪除第一個℃ stb[i].insert(0,Integer.toString(i+1)+"、");//插入序號上面x

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論