Помогите упростить решение задачи - Alphabet

Алфавит В одном проекте одной команды разработан класс

class Alphabet{
     private int a, b, c, d, e, f, g, h, i, j, k, l, 
                       m, n, o, p, q, r, s, t, u, v,
                       w, x, y, z, sum;
}

В этой команде программистов недолюбливают массивы.

Да, это какая-то странная команда, но именно вы должны положить этому конец - стать тимлидом и научить всех использовать массивы.

Но для того, чтобы вас зауважали, нужно очень быстро дописать класс так, чтобы можно было задавать значения переменных и считывать их сумму. (Изучите примеры)

Подсказка: если подумать минуту, то можно решить задачу за 1 минуту и 5 секунд!

Ну, а после успешной сдачи, никогда так не пишите!

Для примера:

Тест

Alphabet alphabet = new Alphabet();
alphabet.setA(5);
System.out.println(alphabet.getSum());

Результат 5

Тест

Alphabet alphabet = new Alphabet();
alphabet.setY(5);
alphabet.setS(7);
alphabet.setD(7);
System.out.println(alphabet.getSum());

Результат 19

Задачу я сдал, но то, что её можно сделать за 5 секунд не дает мне покоя. Помогите

Мое решение - JAVA

class Alphabet {
    private int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z;


    
    public void setA(int value) {
        a = value;
    }

    public void setB(int value) {
        b = value;
    }

    // Методы для остальных букв

    public int getSum() {
        return a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u + v + w + x + y + z;
    }
}

Ответы (2 шт):

Автор решения: ten

Используй рефликсию. метод будет выглядеть как SetValue("A",5); метод будет выглядеть как SetValue("e",8);

https://javarush.com/groups/posts/513-reflection-api-refleksija-temnaja-storona-java

→ Ссылка
Автор решения: Nowhere Man

Вероятно, подразумевалось что вместо 26 переменных можно использовать один массив такого же размера, с единым методом доступа и одновременной модификацией суммы элементов:

public class Alphabet {
    private int[] arr = new int[26];
    private int sum;
    
    public void setA(int value) { set('a', value);}
    public void setB(int value) { set('b', value);}
    // etc.
    
    private void set(char ix, int value) {
        if (value != arr[ix - 'a']) {
            sum -= arr[ix - 'a'];
            sum += arr[ix - 'a'] = value;
        }
    }
}

→ Ссылка