2016-07-09 8 views
1

Ich möchte meine Muttersprache mathematische Zahl in Java zu manipulieren.
Beispiel:Hinzufügen von nicht-lateinischen Nummer

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

Ich möchte diese Zahl in meiner Sprache hinzufügen und zeigen. Wie in dem folgenden:

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

Warum? Es wird allgemein als schlechte Praxis angesehen, Code in etwas anderem als Englisch zu schreiben. –

+0

Ich möchte keinen Code in meiner Sprache schreiben. Ich möchte nur Ergebnisse in meiner Sprache sehen. –

+1

Mögliches Duplikat von [Beste Methode zur Konvertierung von englischen Zahlen ins Arabische] (http://stackoverflow.com/questions/11469058/best-way-to-convert-english-numbers-to-arabic) – SCouto

Antwort

1

angenommen, dass ‚a‘ bis ‚j‘ 0 bis 9 in Ihrer Muttersprache darstellt und Zahlen werden nach rechts geschrieben links.

es ist besser, wenn Sie die Eingabe und Ausgabe zu normalen Ganzzahlen konvertieren und mit ihnen arbeiten. Auf diese Weise haben Sie Zugriff auf alle mathematischen Methoden, die Java zur Verfügung stellt, und wichtigere Java-Bibliotheken sind robuster als Ihre eigenen Methoden.

Diese zwei Methoden konvertieren String-Objekt (Ihre gewünschten Zeichen zu int) zu int und umgekehrt.

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

Dieser eine Arbeit für mich. Vielen Dank #Mehdi Hamzezadeh. –

+1

Willkommen! :) @NyeinChan –