マイナンバーのチェックデジットを計算する(http://qiita.com/qube81/items/fa6ef94d3c8615b0ce64) を読んでJavaで実装してみました。
SIer脳で書いたJavaコードなので、もっときれいな書き方が絶対あるはず。
import org.apache.commons.lang3.math.NumberUtils;
/**
 * マイナンバーのチェックディジットを求める。
 */
public class CheckDigit {
    public static int calcCheckDigit(String mynumber) {
        // オードソックスな引数チェック
        if (mynumber == null) {
            throw new IllegalArgumentException("引数にnullは指定不可");
        }
        if (mynumber.length() != 11) {
            throw new IllegalArgumentException("引数は11桁必須");
        }
        if (!NumberUtils.isNumber(mynumber)) {
            throw new IllegalArgumentException("引数は数値必須");
        }
        char[] mynumberArgs = mynumber.toCharArray();
        int[] calcResultArgs = new int[11];
        for (int i = 0; i < mynumberArgs.length; i++) {
            calcResultArgs[i] = calc(mynumberArgs[(11 - 1) - i], (i + 1));
        }
        // n=1からn=11までのPn,Qn,Pn×Qnを計算
        int calcTotal = 0;
        for (int val : calcResultArgs) {
            calcTotal += val;
        }
        // 求めた和を11で割ったあまりを求める。
        int amari = calcTotal % 11;
        // 11-(11で割ったあまり)がチェックディジット
        int digit = 11 - amari;
        return digit;
    }
    private static int calc(char c, int n) {
        int i = Character.getNumericValue(c);
        if (n >= 1 && n < 7) {
            return i * (n + 1);
        } else {
            return i * (n - 5);
        }
    }
}
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
 *
 * @author deaf.tadashi
 */
public class Main {
    private static final Logger log = LoggerFactory.getLogger(Main.class);
    
    public static void main(String[] args) {
        int digit = CheckDigit.calcCheckDigit("12345678901");
        log.info("{}のチェックディジットは{}です。", "12345678901", digit);
    }
}