package sh; import java.util.ArrayList; public class wordCount{ ArrayList docCountDates; ArrayList words; public static void main(){ System.out.println("テストデータの代入を開始します."); wordCount wct=new wordCount("Test",1);//これに、addで出てきた 単語とドキュメントのNo(何枚目かをあらわす数字)を渡すと勝手に集計してくれる System.out.println("カウント用のデータが作られました"); wct.add("あ",1); wct.add("う",1); wct.add("お",1); wct.add("い",1); wct.add("い",1); wct.add("え",1); wct.add("お",1); wct.add("お",1); wct.add("う",1); wct.add("え",1); wct.add("お",1); wct.add("お",1); wct.add("う",1); wct.add("え",1); wct.add("え",1);//1枚目のドキュメントには単語 あ1回い2回、う3回、え4回お5回出てきたと想定 wct.add("い",2);//2枚目のドキュメントには い4回 う1回 え 2回 お 一回 wct.add("い",2); wct.add("い",2); wct.add("う",2); wct.add("え",2); wct.add("お",2); wct.add("い",2); wct.add("え",2); wct.add("う",3);//3枚目のドキュメントにはい、う え 一つずつ wct.add("い",3); wct.add("え",3); wct.add("か",1);//一枚目のドキュメントはあ1回い2回、う3回、え4回お5回 か1回 wct.add("あ",2);//2枚目のドキュメントには あ1回 い4回 う1回 え 2回 お 一回 wct.add("い",3);//3枚目のドキュメントには い2回 う2回 え一回 wct.add("う",3);//と出力されたら集計は正しく動いていると考えていいはずです wct.putDate(); } wordCount(String word,int docNo){ docCountDates=new ArrayList(); words=new ArrayList(); words.add(word); docCountA dc=new docCountA(docNo); docCountDates.add(dc); } public void add(String word,int docNo){ if(words.contains(word)==true){ int p=words.indexOf(word); docCountA dc=(docCountA)docCountDates.get(p); dc.add(docNo); }else{ words.add(word); docCountA dc=new docCountA(docNo); docCountDates.add(dc); } } public void putDate(){ for(int i=0;i docNos;//ドキュメントのNO ArrayList Counts;//その単語が特定のドキュメントで何回でたかを数える int sum;//全体で単語の出現した回数 docCountA(int docNo){ docNos=new ArrayList();//ドキュメントのNOを保存する Counts=new ArrayList();//そのドキュメントで docNos.add(docNo); Counts.add(1); sum=1; } public void toPutDate(){ for(int i=0;i