Javakurs/Übungsaufgaben/Cowsay: Unterschied zwischen den Versionen
(→Beispiel) |
Poxy (Diskussion | Beiträge) (→Aufgabenstellung) |
||
(6 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
=== Aufgabenstellung === | === Aufgabenstellung === | ||
Diese Aufgabe stellt eine etwas erweitere Version von HelloWorld dar. Als Vorbild dient das Unix-Programm Cowsay. Diesem Programm übergibt man einen Text und als Ergebnis erhält man eine kleines Bild (als ASCII-Art) auf der Konsole, welches den übergeben Text enthält. Dies könnte so aussehen wie unter [[Javakurs2007/Cowsay#Beispiel | Beispiel]] zu sehen. | Diese Aufgabe stellt eine etwas erweitere Version von HelloWorld dar. Als Vorbild dient das Unix-Programm Cowsay. Diesem Programm übergibt man einen Text und als Ergebnis erhält man eine kleines Bild (als ASCII-Art) auf der Konsole, welches den übergeben Text enthält. Dies könnte so aussehen wie unter [[Javakurs2007/Cowsay#Beispiel | Beispiel]] zu sehen. | ||
− | |||
1) Als ersten Schritt könnt ihr mit mehreren '''System.out.println("...");''' erstmal ein wenig herumprobieren und versuchen eine ASCII Graphik, die ihr euch ausgedacht habt, auszugeben. Natürlich könnt ihr auch die aus dem Beispiel nehmen. | 1) Als ersten Schritt könnt ihr mit mehreren '''System.out.println("...");''' erstmal ein wenig herumprobieren und versuchen eine ASCII Graphik, die ihr euch ausgedacht habt, auszugeben. Natürlich könnt ihr auch die aus dem Beispiel nehmen. | ||
Zeile 40: | Zeile 39: | ||
java cowsay "Java Rocks" | java cowsay "Java Rocks" | ||
-> arguments[0] enthaelt nun <i> Java Rocks </i> | -> arguments[0] enthaelt nun <i> Java Rocks </i> | ||
− | |||
== Kommentare == | == Kommentare == | ||
Zeile 59: | Zeile 57: | ||
+ | ---- | ||
+ | |||
+ | |||
+ | Hey, haben es hingekriegt,dass die Kuh was sagt, wollen aber ,dass die Kuh keine Sprechblase hat,wenn man nichts eingibt,wie sollen wir das machen? | ||
+ | |||
+ | Haben schon mit if und else args[0] !== null probiert, klappt aber nicht, bei keiner Eingabe kommt die Fehlermeldung: | ||
+ | |||
+ | Exception in treahd "main" java.lang.ArrayIndexOutOfBoundsException: 0 ... | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | Sebastian Wjertzoch | ||
+ | |||
+ | Einfach auf Anzal der Elemente in args prüfen. | ||
+ | |||
+ | <pre> | ||
+ | public static void main(String[] args){ | ||
+ | if(args.length > 0){ | ||
+ | printCow(args[0]); | ||
+ | } else { | ||
+ | printCow("My milk is empty!"); | ||
+ | } | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | Wenn kein Eintrag drin ist, wird einfach ein Text gegeben... | ||
+ | Bestimmt nicht die eleganteste Lösung aber es läuft. | ||
[[Kategorie:Java]] | [[Kategorie:Java]] | ||
[[Kategorie:Java_Aufgaben]] | [[Kategorie:Java_Aufgaben]] |
Aktuelle Version vom 3. März 2014, 11:35 Uhr
Inhaltsverzeichnis
Aufgabenstellung
Diese Aufgabe stellt eine etwas erweitere Version von HelloWorld dar. Als Vorbild dient das Unix-Programm Cowsay. Diesem Programm übergibt man einen Text und als Ergebnis erhält man eine kleines Bild (als ASCII-Art) auf der Konsole, welches den übergeben Text enthält. Dies könnte so aussehen wie unter Beispiel zu sehen.
1) Als ersten Schritt könnt ihr mit mehreren System.out.println("..."); erstmal ein wenig herumprobieren und versuchen eine ASCII Graphik, die ihr euch ausgedacht habt, auszugeben. Natürlich könnt ihr auch die aus dem Beispiel nehmen.
2) Als zweiten Schritt könnt ihr probieren, auch etwas Text mit in die Graphik einzubinden, wie in dem ersten Beispiel zu sehen. Fuer Mehrdenker: Beachtet, dass wie bei der orginal Cowsay/Cowthink die Laenge des Strings auch beruecksichtigt wird um den String mit "_" (oder anderen Zeichen) zu unter- bzw oberstreichen.
Beispiel
_____________ < Java rocks! > ------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
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
Tipps
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 cowsay rocks
-> arguments[0] enthält rocks.
Bei einem Satz muesst ihr diesen in Hochkomma angeben.
Beispiel:
java cowsay "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 ;)
wie kann man die 2 "" zeichen einbauen?
- Einfach escapen, also
\"
schreiben. --Robert Buchholz 22:50, 30. Mai. 2007 (CEST)
Dankeschön ;) Cowsay macht Spaaaaß :-D
Hey, haben es hingekriegt,dass die Kuh was sagt, wollen aber ,dass die Kuh keine Sprechblase hat,wenn man nichts eingibt,wie sollen wir das machen?
Haben schon mit if und else args[0] !== null probiert, klappt aber nicht, bei keiner Eingabe kommt die Fehlermeldung:
Exception in treahd "main" java.lang.ArrayIndexOutOfBoundsException: 0 ...
Sebastian Wjertzoch
Einfach auf Anzal der Elemente in args prüfen.
public static void main(String[] args){ if(args.length > 0){ printCow(args[0]); } else { printCow("My milk is empty!"); } }
Wenn kein Eintrag drin ist, wird einfach ein Text gegeben... Bestimmt nicht die eleganteste Lösung aber es läuft.