[[Programming]] public static void main(String[] args) { String line; int max; Vector v = new Vector(); Vector lv = new Vector(); Hashtable h = new Hashtable(); String filename = "test.vec";//オリジナルトークンのベクター String listfile = "list.txt"; // オリジナルベクターファイルの読み込み try { FileReader fr = new FileReader(filename); BufferedReader br = new BufferedReader(fr); try { while((line = br.readLine()) != null){ String newline = new String(line.trim()); v.addElement(newline); //System.out.println(newline); } } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } // リストベクター ファイルの読み込み try { FileReader fr2 = new FileReader(listfile); BufferedReader br2 = new BufferedReader(fr2); try { while((line = br2.readLine()) != null){ String newline = new String(line.trim()); lv.addElement(newline); //System.out.println(newline); } } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } catch (FileNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } MyRandomize ran = new MyRandomize(v); Vector resV = ran.getVec(); /** * ランダム化されたトークンベクターと * リストベクターの要素を比較する */ Enumeration e = resV.elements(); String letter; String list; // Perl5Util p5u = new Perl5Util(); Integer i; //System.out.println("before first while"); while(e.hasMoreElements()){//ランダム化されたベクトルの要素と letter = (String) e.nextElement(); System.out.println("letter = " + letter); Enumeration el = lv.elements(); while(el.hasMoreElements()){ list = (String) el.nextElement();//リストの要素を Pattern p = Pattern.compile("^" + list + "$"); Matcher reg = p.matcher(letter); System.out.println("list = " + list ); if(reg.find()){ System.out.println("matched"); if(h.containsKey(letter)){ i = (Integer) h.get(letter); //登録済みならカウトアップ int myint = i.intValue(); myint++; i = new Integer(myint); h.put(letter,i); }else{ i = new Integer(1);//新規登録 h.put(list,i); } }else{ System.out.println("not matched"); } } } // 登録されたトークンと頻度の対応を表示 Enumeration eh = h.keys(); System.out.println("before hash table number = " + h.size()); while(eh.hasMoreElements()){ String word = (String) eh.nextElement(); Integer i1 = (Integer) h.get(word); String i2 = i1.toString(); System.out.println(word + " " + i2); }