日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Map容器练习

發(fā)布時間:2025/7/14 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Map容器练习 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目的:通過FileInputStream類讀入txt文件,然后利用Map這個容器統(tǒng)計txt文件中每個字符出現(xiàn)的次數(shù).

?

import java.util.*; import java.io.*; public class ArgsMap {public static void main(String args[]) {FileInputStream f=null;try {f=new FileInputStream("io.txt");} catch(Exception a) {System.out.println(a);}System.out.println("I don't care what's going on");Integer ck=null;HashMap db=new HashMap();try {int tem=f.read();while(tem!=-1) {ck=(Integer)db.get((Character)(char)tem);db.put((Character)(char)tem,(ck==null)?1:ck+1);tem=(f.read());System.out.println(db);}}catch (Exception e) { //Here I have lots of question 這里可以直接用父類Exception. 這兒不能用new一個exceptionSystem.out.println(e);}/*for(int i=0;i<args.length;i++) {ck=(Integer)db.get(args[i]);db.put(args[i],(ck==null)?1:ck+1);}*/System.out.println(db);} }


/*這里有非常多的東西要注意:
1.在定義FileInputStream的時候,如果這樣寫:FileInputStream f=new FileInputStream("io.txt");
?由于寫FileInputStream("io.txt")必須要用try,所以這樣會導(dǎo)致后面的f找不到,因為有可能try失敗,
?f將不會被創(chuàng)建,所以編譯器會報錯.所以應(yīng)該先FileInputStream f=null;
?2.tem一定要定義成int類型,不然在做while判斷的時候會出錯.這是tem永遠不會等于-1,
?因為char取不到-1,將造成while死循環(huán).
?3.不能直接將int型的tem之間構(gòu)造成Character對象.一個是Integer一個是Character,不能轉(zhuǎn)型成功
?必須想將tem強制轉(zhuǎn)換成int基礎(chǔ)類型.然后再由基礎(chǔ)類型包裹成Character類.

?4.try--catch用法

?5.就是JDK1.5 后基礎(chǔ)數(shù)據(jù)類型可以自動包裝成類,所以(Character)是可以省略掉的.

?*/

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/jackhub/archive/2012/06/09/3147251.html

總結(jié)

以上是生活随笔為你收集整理的Map容器练习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。