# Nebenwirkungen



## David2456 (24. Nov 2015)

Hallo
ich würde gerne wissen welche Nebenwirkungen dieses Programm verursacht.
Bzw. wie ich Nebenwirkungen erkennen kann.
Danke schonmal



```
public class Square {

public static int a = 0;

public static void main(String[] args) {
Out.print("Bitte geben Sie ein n ein (n * n wird berechnet): ");
int n = In.readInt();

a = n;
int direct = squareDirect();
int a = squareIterative(n);

Out.println("n * n = " + a);
Out.println(a == direct);
}

public static int squareDirect() {
a *= a;
return a;
}
public static int squareIterative(int n) {
int sum = 0;
// Sum up the first n odd numbers,
// e.g. n = 5 -> 1 + 3 + 5 + 7 + 9 = 25.
// This is the same as n * n
for (int i = 0; i < n; ++i) {
int tmp = 2 * i + 1;
sum += tmp;
}
return sum;
}
}
```


----------



## stg (24. Nov 2015)

Nebenwirkungen auf was?

Innerhalb eines geschlossenen Systems (hier das gesamte Program) macht die Frage nicht viel Sinn. Das Programm ist deterministisch.


----------



## Khal Drogo (24. Nov 2015)

Wir sind nicht dafür da, deine Hausaufgaben zu machen. Entweder du bringst dich selbst ein, erkaufst dir die Lösungen (wofür dann aber auch präzise Angaben benötigt werden), oder du hast Pech gehabt.

Mit freundlichen Grüßen
Xelsarion


----------



## Flown (24. Nov 2015)

Meintest du vielleicht Seiteneffekte und nicht Nebeneffekte?


----------



## VfL_Freak (25. Nov 2015)

Moin,

oder frag' Deinen Arzt oder Apotheker 
(sorry ... konnte ich mir jetzt nicht verkneifen)

Gruß Klaus


----------



## Dompteur (25. Nov 2015)

David2456 hat gesagt.:


> Hallo
> ich würde gerne wissen welche Nebenwirkungen dieses Programm verursacht.
> Bzw. wie ich Nebenwirkungen erkennen kann.


Ich gehe in meiner Erklärung ganz bewußt nicht zu sehr ins theoretische.
Eine Nebenwirkung wird auch Nebeneffekt bzw Seiteneffekt genannt. Im DEnglischen wird oft auch "side effect" verwendet.

In deinem Beispiel hast du eine Funktion zur Berechnung des Quadrats einer Zahl. Die erwartete Funktion ist, dass nur das Quadrat berechnet und als Ergebnis zurückgeliefert werden soll. Wenn in der Funktion sonst noch etwas passiert, das Auswirkungen auf das Umfeld hat, dann spricht man von einer Nebenwirkung.
Nebenwirkungen können gewollt sein oder unabsichtlich passieren.
Eine möglicherweise unabsichtliche Nebenwirkung liegt vor, wenn beispielsweise Variablen außerhalb der Funktion aus der Funktion heraus verändert werden.

In deinem Beispiel hast du 2 verschiedene Varianten zur Berechnung des Quadrats. Eine davon kommt ohne Nebenwirkungen aus.


----------

