ASCII Tabelle in Java

  • Hallo Leute,
    hab mir grad selbst mal ein Projekt überlegt, das ich zu Hause machen werde.
    Eine ASCII-Tabelle mit Java darstellen. Scheint echt schwierig. Was sagt ihr dazu?


    Wie kann ich das realisieren??

  • Wieso sollte das schwierig sein? o.o
    Also ich weiß ja nicht welchen Umfang du da vor hast, bezieungsweise was das sonst noch so können soll oder ob ich gerade einfahc nur einen Denkfehler habe :D
    Also wenn ich mich doch nicht ganz irre geht das recht einfach via casten, oder?

    Code
    1. (char) 65
    2. //::> A
    3. (int) A
    4. //::> 65
  • Und wie mache ich es jetzt dass es immer 3 Stellen hat?
    Also
    anstatt 1 -> 001
    oder 50 -> 050
    und 200 -> 200 (unnötig, aber trotzdem :D)

  • Aufgabe gelöst:



    Auch hier zu finden:


    http://yamram.blog.de


    Und Sarkkan :
    Es gibt eine andere Möglichkeit: FORMATTER!!!

  • 1. Also zum Thema Ressourcen sage ich jetzt mal nix^^
    2. Das sieht mir ein bisschen viel Code aus.. O.o Also vom Gefühl her glaube ich, dass man dafür nicht mal die hälfte bräuchte?^^
    3. Es wird sicher immer andere Möglichkeiten geben :) Aber nur zur Information.. das solltest DU - der Java, wie er sagt, beherrscht - eher als ICH - der ein halbes Jahr im Informatik-Unterricht damit zu tun hatte - wissen, oder etwa nicht?


    Edit: Habe dann mal kurz selbst was Geschrieben:


    Erzeugt folgende Ausgabe:

  • So, ich wär dann fertig:
    import java.util.Formatter;


    public class ASCII2
    {
    public static void main(String[] args)
    {
    System.out.println("*** ASCII-Tabelle ***");
    System.out.println();
    System.out.println("Okt Dez Hex Zch Okt Dez Hex Zch Okt Dez Hex Zch Okt Dez Hex Zch ");
    System.out.println("------------------------------------------------------------------ ");
    int zahl = 0;
    for (int i = 0; i < 32; i++)
    {
    System.out.print(formatieren(zahl) + " ");
    System.out.print(formatieren(zahl + 32) + " ");
    System.out.print(formatieren(zahl + 64) + " ");
    System.out.println(formatieren(zahl + 96));
    zahl++;
    }
    }


    public static String formatieren(int zahl)
    {
    Formatter formatter = new Formatter();
    if (zahl < 32 || zahl > 126)
    {
    return formatter.format("%1$03o %1$03d %1$03x ...", zahl).toString();
    } else
    {
    return formatter.format("%1$03o %1$03d %1$03x %1$c ", zahl).toString();
    }
    }
    }


    Das ging auch relativ schnell.


    Und was kommt jetzt?
    SUDOKU lösen


    Oh no :((((((

  • 1. Warum lässt du zahl mit hoch zählen? Du hast doch schon i .__.
    2. Warum erzeugst du bei jedem Aufruf von formatieren() eine neue Instanz von der Formatter-Klasse? O.o
    Weißt du was das an Ressourcen frisst? >__<

  • Finde es schon besser als deinen ersten Versuch :D
    Aber das sind noch so Sachen die mich (Perfektionisten) halt stören :/
    Den eine Variabel zu initialisieren und wieder freizugeben ist recht aufwendig.
    Und wen es sich hierbei noch um ein Objekt handelt ist das gleich noch einmal so aufwendig.