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: Unterschied zwischen den Versionen

(Aufgabenstellung: geändert und an die Vorgabe angepasst.)
(Aufgabenstellung geändert)
Zeile 7: Zeile 7:
 
1) Als erstes ladet ihr euch [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2012/Musterloesung/DDDText.java 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.
 
1) Als erstes ladet ihr euch [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2012/Musterloesung/DDDText.java 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) Als zweiten Schritt muesst ihr nun das Programm schreiben. Wer keine Idee hat, wie er an die Eingabe kommt: guckt weiter mal bei den [[Javakurs2009/3dText#Tipps | Tipps]] oder fragt einen Tutor.
+
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: [http://de.wikipedia.org/wiki/Escape-Sequenz|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 <i> Java Rocks </i>
 +
 
 +
=== Beispiele ===
  
=== Beispiel ===
 
 
<pre>
 
<pre>
  
Zeile 60: Zeile 91:
  
 
</pre>
 
</pre>
 
=== 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: [http://de.wikipedia.org/wiki/Escape-Sequenz|weitere Escape Sequenzen auf de.wikipedia.org]
 
 
=== weitere Beispiele ===
 
  
 
<pre>
 
<pre>
Zeile 133: Zeile 156:
 
* [http://patorjk.com/software/taag/ http://patorjk.com/software/taag/]
 
* [http://patorjk.com/software/taag/ http://patorjk.com/software/taag/]
 
* [http://de.wikipedia.org/wiki/ASCII-Art http://de.wikipedia.org/wiki/ASCII-Art]
 
* [http://de.wikipedia.org/wiki/ASCII-Art http://de.wikipedia.org/wiki/ASCII-Art]
 
=== 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 <i> Java Rocks </i>
 
  
 
== Kommentare ==
 
== Kommentare ==

Version vom 9. März 2012, 11:47 Uhr

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