添加非拉丁数字

Adding non-Latin number

我想在 Java 中操纵我的母语数学数字。
示例:

int a = 1;
int b = 2;
int c = a + b;
System.out.println(c);

我想用我的语言添加和显示这些号码。如下:

int a = ၁;
int b = ၂;
int c = a + b;
System.out.println(c);

假设'a'到'j'代表你母语中的0到9,数字是从左到右写的。

最好将输入和输出转换为普通整数并使用它们。因为这样你就可以访问 java 提供的所有数学方法,更重要的是 java 的库比你自己的方法更健壮。

这两个方法将转换字符串对象(你想要的字符到int) 到 int,反之亦然。

public  static String convertToString (int value){
    StringBuilder result = new StringBuilder();
    for (int i=1;value/i>0;i *= 10)
        switch( value % (i*10) / i){
            case 0:
                result.append('a');
                break;
            case 1:
                result.append('b');
                break;
            case 2:
                result.append('c');
                break;
            case 3:
                result.append('d');
                break;
            case 4:
                result.append('e');
                break;
            case 5:
                result.append('f');
                break;
            case 6:
                result.append('g');
                break;
            case 7:
                result.append('h');
                break;
            case 8:
                result.append('i');
                break;
            case 9:
                result.append('j');
                break;

        }

    return result.reverse().toString();
}
public  static  int convertToInt(String string){

    int result = 0;
    int j =1;
    for (int i=string.length()-1;i>=0;i--,j *= 10)
        switch(string.charAt(i)){
            case 'b':
                result += 1*j;
                break;
            case 'c':
                result += 2*j;
                break;
            case 'd':
                result += 3*j;
                break;
            case 'e':
                result += 4*j;
                break;
            case 'f':
                result += 5*j;
                break;
            case 'g':
                result += 6*j;
                break;
            case 'h':
                result += 7*j;
                break;
            case 'i':
                result += 8*j;
                break;
            case 'j':
                result += 9*j;
                break;

        }
    return result;
}