groovy-lecture/live/recap.md

1.7 KiB

Zusammenfassung:

Gegeben sei folgender Java-Code:

import java.util.ArrayList;
import java.util.List;

class Person {
        String name;
        int age;
        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }
        
        public String toString(){
            return this.name + ", Alter: " + this.age;
        }
    }

public class Main {
    
    public static void main(String[] args) {
        List<Person> personen = new ArrayList<>();
        personen.add(new Person("Alice", 20));
        personen.add(new Person("Bob", 18));
        personen.add(new Person("Charlie", 30));
        personen.add(new Person("David", 15));
        personen.add(new Person("Eve", 21));

        for (Person p : personen) {
            System.out.println(p);
        }

        int sum = 0;
        for (int i = 1; i <= 10; i++) {
            sum += i;
        }
        System.out.println("Summe der Zahlen von 1-10: " + sum);
    }
}

Der Code hat folgende Ausgabe:

Alice, Alter: 20
Bob, Alter: 18
Charlie, Alter: 30
David, Alter: 15
Eve, Alter: 21
Summe der Zahlen von 1-10: 55

Wandeln sie den Java-Code so in Groovy-Code um, dass er die selbe Ausgabe erzeugt und folgende Groovy-Features benutzt:

  1. String Interpolation
  2. Ranges (Hinweis: Schreiben sie 1..10)
  3. Variablendefinition mit def
  4. each-Schleifen und Closures
  5. Dynamische Listen
  6. for-in-Schleifen
  7. Objekterstellung mit Default-Konstruktoren

Versuchen sie sich beim implementieren so kurz wie möglich zu halten. Ziel dieser Aufgabe ist es, das gelernte zu wiederholen und zu zeigen wie kompakt Groovy-Code im Vergleich zu Java-Code sein kann.