/**
* Measures Strings by their Scrabble worth
*
* @author Thomas Zaki
* @version Nov 21, 2008
*
*/
public class ScrabbleMeasurer implements Measurer
{
public double measure(Object w)
{
String word = (String) w;
double score = 0;
int numLetters = word.length();
for(int i = 0; i < numLetters; i++)
switch (word.toUpperCase().charAt(i))
{
case 'E':
case 'A':
case 'I':
case 'O':
case 'N':
case 'R':
case 'T':
case 'L':
case 'S':
case 'U':
score += 1;
break;
case 'D':
case 'G':
score += 2;
break;
case 'B':
case 'C':
case 'M':
case 'P':
score += 3;
break;
case 'F':
case 'H':
case 'V':
case 'W':
case 'Y':
score += 4;
break;
case 'K':
score += 5;
break;
case 'J':
case 'X':
score += 8;
break;
case 'Q':
case 'Z':
score += 10;
break;
}
return score;
}
}