Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Javakurs/Übungsaufgaben/DDDText

3D == DDD

Aufgabenstellung

Diesem Programm übergibt man als Parameter einen Text und als Ergebnis erhält man den Text graphisch aufgewertet (als ASCII-Art) auf der Konsole. Dies könnte so aussehen wie unter Beispiel zu sehen.


1) Als erstes ladet ihr euch hier die Vorgabe herunter, die bereits ein vollständiges ASCII-Art-Alphabet enthält. Ihr könnt natürlich auch ein eigenes Alphabet erstellen, Anregungen dazu befinden sich weiter unten.

2) Überlegt euch, ob ihr ein 3D-Zeichen pro Zeile oder alle 3D-Zeichen in einer Zeile ausgeben wollt. Welche Probleme gilt es bei der letzteren Variante zu lösen?

3) Implementiert euer Programm und testet es mit unterschiedlichen Eingaben. Wenn ihr nicht weiterkommt, schaut in die nachfolgenden Hinweise oder fragt einen Tutor.

Hinweise

Wenn ihr auf der Konsole ein Backslash "\" ausgeben wollt, dann müsst ihr dieses Zeichen, da es selbst ein sogenanntes Escapezeichen ist, mit einem Backslash "escapen". Der Code um ein Backslash auszugeben, sieht also so aus.

System.out.println("\\");

siehe auch: weitere Escape Sequenzen auf de.wikipedia.org

Speichern der Länge eines Strings

String word = "rocks";
int length = word.length();

Lesen des n-ten Buchstabens

int n = 5;
char c = word.charAt(n);

Lesen von der Konsole

Wenn ihr beim Ausführen eures Programms in der Konsole ein Parameter (also ein Wort) mit übergebt, so findet ihr ihn an Position [0] im String-Array eurer main-Methode wieder.

Beispiel:

java DDDText rocks

-> arguments[0] enthält rocks.

Bei einem Satz muesst ihr diesen in Hochkomma angeben.

Beispiel:

java DDDText "Java Rocks"

-> arguments[0] enthaelt nun Java Rocks

Beispiele


    ___
   /  /\
  /  /:/
 /__/::\
 \__\/\:\
    \  \:\
     \__\:\
     /  /:/
    /__/:/
    \__\/

      ___
     /  /\
    /  /::\
   /  /:/\:\
  /  /:/~/::\
 /__/:/ /:/\:\
 \  \:\/:/__\/
  \  \::/
   \  \:\
    \  \:\
     \__\/

      ___
     /__/\
     \  \:\
      \  \:\
  _ _  \__\:\
 /__/\ |  |:|
 \  \:\|  |:|
  \  \:\__|:|
   \__\::::/
       ~~~~

      ___
     /  /\
    /  /::\
   /  /:/\:\
  /  /:/~/::\
 /__/:/ /:/\:\
 \  \:\/:/__\/
  \  \::/
   \  \:\
    \  \:\
     \__\/


    ___          ___                        ___     
   /  /\        /  /\          ___         /  /\    
  /  /:/       /  /::\        /__/\       /  /::\   
 /__/::\      /  /:/\:\       \  \:\     /  /:/\:\  
 \__\/\:\    /  /:/~/::\       \  \:\   /  /:/~/::\ 
    \  \:\  /__/:/ /:/\:\  ___  \__\:\ /__/:/ /:/\:\
     \__\:\ \  \:\/:/__\/ /__/\ |  |:| \  \:\/:/__\/
     /  /:/  \  \::/      \  \:\|  |:|  \  \::/     
    /__/:/    \  \:\       \  \:\__|:|   \  \:\     
    \__\/      \  \:\       \__\::::/     \  \:\    
                \__\/           ~~~~       \__\/    
      ___           ___           ___           ___           ___       ___
     /  /\         /  /\         /  /\         /__/|         /  /\     /__/\
    /  /::\       /  /::\       /  /:/        |  |:|        /  /:/_    \  \:\
   /  /:/\:\     /  /:/\:\     /  /:/         |  |:|       /  /:/ /\    \  \:\
  /  /:/~/:/    /  /:/  \:\   /  /:/  ___   __|  |:|      /  /:/ /::\    \  \:\
 /__/:/ /:/___ /__/:/ \__\:\ /__/:/  /  /\ /__/\_|:|____ /__/:/ /:/\:\    \  \:\
 \  \:\/:::::/ \  \:\ /  /:/ \  \:\ /  /:/ \  \:\/:::::/ \  \:\/:/~/:/     \  \;\
  \  \::/~~~~   \  \:\  /:/   \  \:\  /:/   \  \::/~~~~   \  \::/ /:/       \__\/_
   \  \:\        \  \:\/:/     \  \:\/:/     \  \:\        \__\/ /:/          /__/\
    \  \:\        \  \::/       \  \::/       \  \:\         /__/:/           \__\/
     \__\/         \__\/         \__\/         \__\/         \__\/                .


   oooo                                 
   `888                                 
    888  .oooo.   oooo    ooo  .oooo.   
    888 `P  )88b   `88.  .8'  `P  )88b  
    888  .oP"888    `88..8'    .oP"888  
    888 d8(  888     `888'    d8(  888  
.o. 88P `Y888""8o     `8'     `Y888""8o 
`Y888P                                  
                                        
                                        
                             oooo                 .o. 
                             `888                 888 
oooo d8b  .ooooo.   .ooooo.   888  oooo   .oooo.o 888 
`888""8P d88' `88b d88' `"Y8  888 .8P'   d88(  "8 Y8P 
 888     888   888 888        888888.    `"Y88b.  `8' 
 888     888   888 888   .o8  888 `88b.  o.  )88b .o. 
d888b    `Y8bod8P' `Y8bod8P' o888o o888o 8""888P' Y8P
     ____  ____  ____  ____
    /\   \/\   \/\   \/\   \
   /  \___\ \___\ \___\ \___\
   \  / __/_/   / /   / /   /
    \/_/\   \__/\/___/\/___/
      /  \___\    /  \___\
      \  / __/_  _\  /   /
       \/_/\   \/\ \/___/
         /  \__/  \___\
         \  / _\  /   /
          \/_/\ \/___/
            /  \___\
            \  /   /
             \/___/

Links

Kommentare

Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf "bearbeiten" und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)