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 6. März 2012, 15:10 Uhr von Theresa (Diskussion | Beiträge) (Zusatz: Breite der Sprechblase anpassen (mit for-Schleife))

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("               ||     ||");
   }
}