zoukankan      html  css  js  c++  java
  • Map容器练习

    目的:通过FileInputStream类读入txt文件,然后利用Map这个容器统计txt文件中每个字符出现的次数.

    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一个exception
    			System.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,所以这样会导致后面的f找不到,因为有可能try失败,
     f将不会被创建,所以编译器会报错.所以应该先FileInputStream f=null;
     2.tem一定要定义成int类型,不然在做while判断的时候会出错.这是tem永远不会等于-1,
     因为char取不到-1,将造成while死循环.
     3.不能直接将int型的tem之间构造成Character对象.一个是Integer一个是Character,不能转型成功
     必须想将tem强制转换成int基础类型.然后再由基础类型包裹成Character类.

     4.try--catch用法

     5.就是JDK1.5 后基础数据类型可以自动包装成类,所以(Character)是可以省略掉的.

     */

  • 相关阅读:
    利用无线网络数据包分析无线网络安全
    C++ basic
    几道题目
    Pythonunittestddt(应用到类,实际参数化)
    Pythonunittestddt(基本应用)
    【第二章】处理数据源信息(config、excel数据源处理
    Python操作excel003(封装读取excel类
    Python+selenium 【第一章】什么叫ui自动化以及环境搭建
    【第五章】接口关联 正则表达式jsonpath模块
    【第四章】封装request类
  • 原文地址:https://www.cnblogs.com/jackhub/p/3147251.html
Copyright © 2011-2022 走看看