Javakurs/Übungsaufgaben/DDDText: Unterschied zwischen den Versionen
(→Kommentare) |
K (dead link) |
||
(12 dazwischenliegende Versionen von 8 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
+ | 3D == DDD | ||
+ | |||
=== Aufgabenstellung === | === 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 [[Javakurs2009/3dText#Beispiel | Beispiel]] zu sehen. | + | 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 [[Javakurs2009/3dText#Beispiel | Beispiel]] zu sehen. |
+ | |||
+ | |||
+ | 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) Ü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 === | ||
+ | |||
+ | <pre> | ||
+ | |||
+ | ___ | ||
+ | / /\ | ||
+ | / /:/ | ||
+ | /__/::\ | ||
+ | \__\/\:\ | ||
+ | \ \:\ | ||
+ | \__\:\ | ||
+ | / /:/ | ||
+ | /__/:/ | ||
+ | \__\/ | ||
+ | |||
+ | ___ | ||
+ | / /\ | ||
+ | / /::\ | ||
+ | / /:/\:\ | ||
+ | / /:/~/::\ | ||
+ | /__/:/ /:/\:\ | ||
+ | \ \:\/:/__\/ | ||
+ | \ \::/ | ||
+ | \ \:\ | ||
+ | \ \:\ | ||
+ | \__\/ | ||
+ | ___ | ||
+ | /__/\ | ||
+ | \ \:\ | ||
+ | \ \:\ | ||
+ | _ _ \__\:\ | ||
+ | /__/\ | |:| | ||
+ | \ \:\| |:| | ||
+ | \ \:\__|:| | ||
+ | \__\::::/ | ||
+ | ~~~~ | ||
− | + | ___ | |
+ | / /\ | ||
+ | / /::\ | ||
+ | / /:/\:\ | ||
+ | / /:/~/::\ | ||
+ | /__/:/ /:/\:\ | ||
+ | \ \:\/:/__\/ | ||
+ | \ \::/ | ||
+ | \ \:\ | ||
+ | \ \:\ | ||
+ | \__\/ | ||
− | |||
− | + | </pre> | |
<pre> | <pre> | ||
Zeile 35: | Zeile 118: | ||
</pre> | </pre> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
oooo | oooo | ||
Zeile 77: | Zeile 154: | ||
=== Links === | === Links === | ||
− | * [http:// | + | * [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] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Kommentare == | == 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 ;) | 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 ;) | ||
+ | |||
<!-- | <!-- |
Aktuelle Version vom 7. März 2013, 10:20 Uhr
3D == DDD
Inhaltsverzeichnis
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 ;)