class Word{ String word; int totFreq = 0; int checkFreq = 0; HashMap categories = new HashMap(); //this is called when a word is encountered need to check public void addWordInstance(float deweyClass, String title){ int dewCode; Category c; checkFreq++; dewCode = getDewCode(deweyClass); //if this is in the current category - if not, it's a new title if(categories.containsKey(dewCode)){ c = (Category) categories.get(dewCode); if(c.titles.containsKey(title)){ c.checkCatFreq++; }else{ totFreq++; c.catFreq++; c.titles.put(title, 1); } }else{ totFreq++; c = new Category(); c.deweyClass = deweyClass; c.dewCode = dewCode; c.titles.put(title, 1); this.categories.put(dewCode, c); } } public boolean isInDeweyCode(int dewCode){ if(categories.containsKey(dewCode)){ return true; }else{ return false; } } public boolean isInDeweyClass(float dewClass){ int dewCode; dewCode = getDewCode(dewClass); return isInDeweyCode(dewCode); } public int getDewCode(float deweyClass){ int dewCode; if(deweyClass >= 230 && deweyClass < 240){ dewCode = 0; }else{ if(deweyClass >= 297 && deweyClass < 298){ dewCode = 3; }else{ if(deweyClass >= 294.3 && deweyClass < 294.4){ dewCode = 1; }else{ dewCode = 2; } } } return dewCode; } }