# Hausaufgabe - Quellcode erklären



## babuschka (13. Dez 2009)

Hi,

könnte mir jemand helfen?
Ich muss wissen, was in diesem Methodenrumpf passiert.


```
private static void setEvent(StudyEvent event) {
   if (isExist(event)) {
      return;
   }
   events[existEventsCount] = event;
   existEventsCount++;
   setSemester(event.getSemester());
}
```

Ih kann aber nicht so richtig vertehen, was hier passiert. Wäre jemand so nett, mir das zu erklären?

Danke


----------



## Tobias (14. Dez 2009)

Da in dieser Methode diverse andere Methoden aufgerufen und diverse Attribute der zugehörigen Klasse benutzt werden: Nein.


----------



## eRaaaa (14. Dez 2009)

naja so grob kann mans schon sagen. es soll anscheinend ein event gesetzt werden, aber nur wenn dieses event noch nicht exitiert, dann wird es in einem event-array abgelegt und der aktuelle eventzähler hochgezählt.
anschließend wird anscheinend von dem event das semester ermittelt und dann mittels setSemester ebenso gesetzt.???:L


----------



## nrg (14. Dez 2009)

sveta hat gesagt.:


> ```
> private static void setEvent(StudyEvent event) {  //1
> if (isExist(event)) { //2
> return; //3
> ...



wurde von eRaaaaa ja schon sehr schön erklärt. hier nochmal aus meiner sicht:

1. eine private, statische methode wird aufgerufen und ein Objekt von der Klasse StudyEvent übergeben.
2. wenn das übergebene event schon existiert soll anscheinend die methode wieder verlassen werden. return macht für mich hier nur keinen sinn, weil die methode void ist und keinen return hat.
3. siehe 2.
4. das übergebene Objekt wird in ein Objektarray von der Klasse StudyEvent geschrieben. (der Index wird durch einen Counter festgelegt).
5. hier wir o.g. counter um 1 inkrementiert.
6. die methode setSemester() wird aufgerufen und als Parameter das Semester von dem übergebenen Objekt event übergeben.

grüße nrg

edit: das "erledigt-tag" hab ich wegen der verschiebung garnet gesehn .


----------



## eRaaaa (14. Dez 2009)

nrg hat gesagt.:


> return macht für mich hier nur keinen sinn, weil die methode void ist und keinen return hat.



Galileo Computing :: Java ist auch eine Insel – 2.7 Methoden einer Klasse


----------



## nrg (14. Dez 2009)

ups stimmt


----------

