Scrabble score calculator in Java
First of all, you should probably create lettersMap from your constructor. You don't need to create it again every time you want to get score for a word.

There are various ways to make the code shorter. The simplest method is to define the scores as an array, in the same order as the letters:

int[] letterScore = {1, 3, 3, 2 ... 4, 10}; 


Then your whole for-cycle gets reduced to

for (int i = 0; i &lt; lettersCap.length(); i++) {
    lettersMap.put(lettersCap.charAt(i), letterScore[i]);
    lettersMap.put(lettersCap.toLowerCase().charAt(i), letterScore[i]);
}


However, it will also make the code less readable.

You could also define every part separately:

char[] score1letters = {'A', 'E', 'I', 'O', … 'T'};
char[] score2letters = {'D', 'G'};
...
char[] score10letters = {'Q', 'Z'}


and for every such array:

for (int i = 0; i &lt; score1letters.length; i++) {
    lettersMap.put(lettersCap.charAt(i), 1);
    lettersMap.put(lettersCap.toLowerCase().charAt(i), 1);
}


To be honest, the most readable version will probably be:

private static final Map&lt;Character, Integer&gt; lettersMap;
static {
    lettersMap = new HashMap&lt;Character, Integer&gt;();
    lettersMap.put('A', 1);
    lettersMap.put('B', 3);
    lettersMap.put('C', 3);
    lettersMap.put('D', 2);
    ...
    lettersMap.put('Y', 4);
    lettersMap.put('Z', 10);
}


To put lowercase chars, you can either get all the keys at the end and copy their values with lowercased key, or, you can leave only uppercase letters there and instead convert the word to uppercase before calculating its score.