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/Cowsay/Musterloesung

< Javakurs‎ | Übungsaufgaben‎ | Cowsay
Version vom 27. Februar 2013, 16:12 Uhr von MarkusH (Diskussion | Beiträge) (missing _ and - for upper and lower bubble lines)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Hinweis: Die Musterlösung kann von eurer Lösung abweichen, da es immer mehrere Varianten gibt ein Problem zu lösen. Im Zweifelsfall Fragt einen Tutor.

Lösung Cowsay

 public class Cowsay {
     public static void main(String[] args){
         String message = "Java rocks!";
         if(args.length > 0){
             message = args[0];
         }
   
         System.out.println(" _____________");
         System.out.println("< " + message + " >");
         System.out.println(" -------------");
         System.out.println("        \\   ^__^");
         System.out.println("         \\  (oo)\\________");
         System.out.println("            (__)\\        )\\/\\");
         System.out.println("                ||-----w |");
         System.out.println("                ||      ||");
     }
 }

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

Theresa

Noch hübscher wird es, wenn man die obere und untere Begrenzung der Sprechblase an die Textlänge anpasst. Dafür braucht man allerdings eine Schleife, die erst in Vorlesung 2 behandelt wird.

public class CowSay {
   public static void main(String[] args) {
   
   String message = "Java rocks!";
   String upperBubble = "_____________"; // obere Begrenzung der Sprechblase
   String lowerBubble = "-------------"; // untere Begrenzung der Sprechblase
   
   if (args.length > 0) {
       message = args[0];
       upperBubble = "__";
       lowerBubble = "--";
       
       //für jeden Buchstaben, den args[0] hat: Verlängere upperBubble und lowerBubble um ein Zeichen
       for (int i = 0; i<= args[0].length(); i++) {
           upperBubble = upperBubble + "_";
           lowerBubble = lowerBubble + "-";
       }
   }
   
   System.out.println(" " + upperBubble);
   System.out.println("< " + message + "! >");
   System.out.println(" " + lowerBubble);
   System.out.println("       \\   ^__^");
   System.out.println("        \\  (oo)\\_______");
   System.out.println("           (__)\\       )\\/\\");
   System.out.println("               ||----w |");
   System.out.println("               ||     ||");
   }
}