添加非拉丁数字

时间:2016-07-09 11:56:38

标签: java locale

我想用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);

1 个答案:

答案 0 :(得分:1)

认为' a'通过' j'用母语表示0到9,数字从左到右书写。

如果将输入和输出转换为普通整数并使用它们,那么它会更好。因为这样你可以访问java提供的所有数学方法,而且更重要的java库比你自己的方法更强大。

这两个方法将String对象(你想要的字符转换为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;
}