Hallo zusammen, ich habe als Aufgabe bekommen eine Funktion zu schreiben, die ein zweidimensionales Array und zwei Kooardinaten übergeben bekommt und die Nachbarn des Elements retouniert. Natürlich könnte man das mit Schleifen lösen, aber ich finde irgendwie die Methode mit den Abfragen "besser" bzw eher dem Gefragten entsprechend. Leider bekomme ich aber immer falsche Werte raus, ich bin mir sicher, dass ich irgenwo eine Kleinigkeit übersehen habe (oder auch was Grundlegendes nicht bedacht habe ), hoffentlich kann mir jemand weiterhelfen. Btw: ich lerne Java noch nicht lange (bin 15), also seid bitte gnädig
Lg und danke im Voraus!
Hier mein Code:
EDIT: ups, zweimal gepostet - sorry
Lg und danke im Voraus!
Hier mein Code:
Java:
public class neighbours {
public static void main(String[] args) {
//Aufruf
int[][] arr2d = {{1,2,3},{4,5,6},{7,8,9}};
System.out.println(nachbarn(arr2d, 0, 0));
}
static int nachbarn(int[][] arr, int x, int y){
int result = 0;
if (x <= 0){
result += arr[y][x] + arr[y][x+1];
}
else if (x >= arr[y].length-1) {
result += arr[y][x] + arr[y][x-1];
}
else {
result += arr[y][x] + arr[y][x-1] + arr[y][x+1];
}
if (y <= 0) {
result += arr[y][x] + arr[y+1][x];
}
else if (y >= arr.length-1){
result += arr[y][x] + arr[y-1][x];
}
else {
result += arr[y][x] + arr[y + 1][x] + arr[y + 1][x];
}
return result;
}
EDIT: ups, zweimal gepostet - sorry