通過字符串匹配0-254之間的數字創建文件夾的方式

import java.io.File;

public class HashMkDir{
	
	
	public static void main(String[] args) throws Exception {
		//測試是否只創建255個文件夾
		for(int min = 0;min<1000000;min++){
			//生成隨機數
			int a = (int) (Math.random()*100000000);
			//轉換成String 類型
			String s = Integer.toString(a);
			//調用  hashCode 方法把傳入的字符串轉換成一個0-255之間的數  
			String hashpath = Integer.toString(hashCode(s,255));
			//創建文件夾
			File file = new File("D:/hashMKDir/"+hashpath);
			if (!file.exists()) {
				file.mkdirs();
			}
			System.out.println(hashCode(s,255));
		}
	}
	
	
    /**
     * @param key: A String you should hash
     * @param HASH_SIZE: An integer
     * @return an integer
     */
    public static int hashCode(String keys,int HASH_SIZE) {
    	char[] key = keys.toCharArray();
    	long sum = (int)key[0];//sum * 33可能會超出int範圍
        for(int i = 1; i < key.length; i++) {
            sum = sum * 33 % HASH_SIZE + (int)key[i];//即使求餘,否則超出long範圍
        }
        return (int)(sum % HASH_SIZE);
    }
}

效果圖:腦補!!!!


發佈了94 篇原創文章 · 獲贊 52 · 訪問量 64萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章