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

Aufgabenstellung

Diesem Programm übergibt man 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 ersten Schritt könnt ihr mit System.out.println("..."); erstmal ein wenig herumprobieren und versuchen ein ASCII Alphabet, das ihr euch ausgedacht habt, auszugeben. Natürlich könnt ihr auch die aus dem Beispiel nehmen und um die restlichen Buchstaben erweitern.

2) Als zweiten Schritt muesst ihr nun das richtige Programm schreiben. Wer keine Idee hat, wie er an die Eingabe kommt: guckt weiter mal bei den Tipps.

Beispiel


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

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

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

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


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: Escape Sequenzen auf de.wikipedia.org

weitere 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


Tipps

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

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 ;)