2016-07-09 2 views
1

자바에서 수학 언어를 조작하고 싶습니다.
예 :비 라틴계 숫자 추가하기

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

나는 추가 내 언어로이 수를 보여주고 싶어요. 다음과 같이 :

+1

이유는 무엇입니까? 일반적으로 영어 이외의 다른 언어에 코드를 작성하는 것은 나쁜 습관으로 간주됩니다. –

+0

제 언어로 코드를 작성하고 싶지는 않습니다. 나는 결과를 제 언어로보고 싶습니다. [아랍어 영어 숫자를 변환하는 가장 좋은 방법]의 –

+1

가능한 복제 (http://stackoverflow.com/questions/11469058/best-way-to-convert-english-numbers-to-arabic) – SCouto

답변

1

'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; 
} 
+0

이 하나의 작품. 대단히 감사합니다 #Mehdi Hamzezadeh. –

+1

환영합니다 :) @NyeinChan –

관련 문제