Arabische (indische) Ziffern

  • Themenstarter Themenstarter Pulpe
  • Beginndatum Beginndatum
P

Pulpe

Gast
Hallo!

Ich bin Programmieranfängerin (also bitte nicht drüber lustig machen) und verwende Eclipse.

Ich möchte ein Programm zum Üben der arabischen Zahlen schreiben. Wie man die Buchstaben schreibt weiß ich mittlerweile, aber für die Ziffern (arabisch-indische) finde ich nichts. Ich hab schon bei Google gesucht aber entweder die Beiträge passen nicht oder ich versteh sie nicht. Kann mir da wer helfen?
 
Unicode-Block Arabisch ? Wikipedia
Hindu?Arabic numeral system - Wikipedia, the free encyclopedia

kennst du dich mit Unicodes aus?
je nach IDE kannst du die Zeichen direkt hinschreiben (von Wiki kopieren falls im Browser alles korrekt funktioniert),
oder die entsprechenden Codes mit \u-Schreibweise, allerdings in Hexa-Format,
oder Zahlen auf char casten, ob in Dezimal oder Hexa

oder du rechnest von anderen Zahlen um, kannst ja ausprobieren wie du von Zahl als Zahl bzw. Zahl aus char auf den hohen Unicode kommst
oder andersrum oder was immer du vorhast 😉

Java:
public class Test
{
    public static void main(String[] args)
    {
        String st = "abc \u0660" + ((char)0x661) + ((char)1634) + "٣ def";
        for (char c : st.toCharArray())
        {
            System.out.println("c: " + c + ", " + (int)c + ", " + Integer.toHexString(c));
        }
    }
}
Ausgabe:
Code:
c: a, 97, 61
c: b, 98, 62
c: c, 99, 63
c:  , 32, 20
c: ٠, 1632, 660
c: ١, 1633, 661
c: ٢, 1634, 662
c: ٣, 1635, 663
c:  , 32, 20
c: d, 100, 64
c: e, 101, 65
c: f, 102, 66
 
Direkt im Code oder an der Konsole kann schwierig sein. Selbst im GUI muss man schauen, dass die Zeichen unterstützt werden.

Java:
import javax.swing.*;
import java.awt.*;

public class ArabicIndicTest
{
    public static void main(String args[])
    {
       JFrame f = new JFrame();
       f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

       String s = "";
       for (int i=0; i<=9; i++)
       {
           s += (char)(1776+i);
       }
       JLabel label = new JLabel("Test: "+s);
       Font font = new Font("Arial Unicode MS", Font.PLAIN, 20); // WINDOWS-SPEZIFISCH!
       label.setFont(font);
       f.getContentPane().add(label);
       f.setSize(300,300);
       f.setVisible(true);
    }
}
 
Hat super geklappt!

Ich konnte die Codes einfach nicht finden und so ganz sicher wie ich aus dem string nen char mach war ich mir auch nicht.

Vielen Dank jedenfalls!
 

Zurück
Oben