Guten Tag,
ich versuche momentan mir einige Java Skills anzueignen. Dabei bin ich auf ein Problem gestossen, welches ich mir nicht erklären kann.
Mit der Methode setUp initialsiere ich das Array von 1 bis (a.length -1). Danach möchte ich jedem Element der gleiche Wert dazuaddieren. Mit der Methode add2 (normaler for-Schleife) funktioniert dies problemlos. Mit der Methode add (for-each-Schleife) kriege ich jedoch eine ArrayOutOfBoundsException. Wieso funktioniert es mit einer for-each-Schleife nicht? Im Spoiler könnt ihr das Ausgegebene sehen.
*/
public void setUp()
{
for (int i = 0; i < a.length; i++) {
a** = (i+1);
System.out.println(a**);
}
}
/**
*/
public void add(int value)
{
for (int i : a) {
a** += value;
System.out.println(a**);
}
}
/**
*/
public void add2(int value)
{
for (int i = 0; i < a.length; i++) {
a** += value;
System.out.println(a**);
}
} ```
[SPOILER]Exercise4 exercise1 = new Exercise4(10);
exercise1.setUp();
1
2
3
4
5
6
7
8
9
10
exercise1.add(10);
12
Exception occurred.
exercise1.setUp();
1
2
3
4
5
6
7
8
9
10
exercise1.add2(10);
11
12
13
14
15
16
17
18
19
20
[/SPOILER]
Vielen Dank und freundliche Grüsse
Unihoc7