자바에서 수학 언어를 조작하고 싶습니다.
예 :비 라틴계 숫자 추가하기
int a = 1;
int b = 2;
int c = a + b;
System.out.println(c);
나는 추가 내 언어로이 수를 보여주고 싶어요. 다음과 같이 :
자바에서 수학 언어를 조작하고 싶습니다.
예 :비 라틴계 숫자 추가하기
int a = 1;
int b = 2;
int c = a + b;
System.out.println(c);
나는 추가 내 언어로이 수를 보여주고 싶어요. 다음과 같이 :
'a'에서 'j'는 모국어로 0-9이며 숫자는 왼쪽에서 오른쪽으로 쓰여 있다고 가정합니다.
정상적인 정수로 입력 및 출력을 변환하고 그들과 함께 작업하는 경우가 좋습니다. 이 방법을 사용하면 자바가 제공하는 모든 수학적 방법에 접근 할 수 있고 더 중요한 자바 라이브러리가 자신의 방법보다 더 강력하기 때문입니다. 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;
}
이 하나의 작품. 대단히 감사합니다 #Mehdi Hamzezadeh. –
환영합니다 :) @NyeinChan –
이유는 무엇입니까? 일반적으로 영어 이외의 다른 언어에 코드를 작성하는 것은 나쁜 습관으로 간주됩니다. –
제 언어로 코드를 작성하고 싶지는 않습니다. 나는 결과를 제 언어로보고 싶습니다. [아랍어 영어 숫자를 변환하는 가장 좋은 방법]의 –
가능한 복제 (http://stackoverflow.com/questions/11469058/best-way-to-convert-english-numbers-to-arabic) – SCouto