添加非拉丁数字
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;
}
我想在 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;
}