se provo ad eseguire il mio programma mi viene fuori questo bel messaggio:
codice:
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "A"
.....
la riga incriminate dovrebbe essere quella in rosso di questo metodo:
codice:
    private char CFControl(String stringVal) {
        int pesi = 0;
        int[] arrayPesi = {1, 0, 5, 7, 9, 13, 15, 17, 19, 21, 1, 0, 5, 7, 9, 13, 15, 17, 19, 21, 2, 4, 18, 20, 11, 3, 6, 8, 12, 14, 16, 10, 22, 25, 24, 23};
        stringVal = stringVal.toUpperCase();
        for (int i = 0; i < stringVal.length(); ++i) {
            if (((i + 1) % 2) == 0) {
                if (stringVal.toCharArray()[i] >= Integer.parseInt("0") && stringVal.toCharArray()[i] <= Integer.parseInt("9")) {
                    pesi += stringVal.toCharArray()[i] - Integer.parseInt("0");
                } else if (stringVal.toCharArray()[i] >= Integer.parseInt("A") && stringVal.toCharArray()[i] <= Integer.parseInt("Z")) {
                    pesi += stringVal.toCharArray()[i] - Integer.parseInt("A");
                }
            } else {
                if (stringVal.toCharArray()[i] >= Integer.parseInt("0") && stringVal.toCharArray()[i] <= Integer.parseInt("9")) {
                    pesi += arrayPesi[stringVal.toCharArray()[i] - Integer.parseInt("0")];                
} else if (stringVal.toCharArray()[i] >= Integer.parseInt("A") && stringVal.toCharArray()[i] <= Integer.parseInt("Z")) {
                    pesi += arrayPesi[stringVal.toCharArray()[i] - Integer.parseInt("A") + 10];
                }
            }
        }
        return (char) (65 + (pesi % 26));
    }
dove sbaglio??