Warum muss ein neues Feld im zweidimensionalen Array erzeugt werden
Hi ich bin noch etwas grün hinter den Ohren was programmieren mit Java angeht und ich hab hier zwei Übungen und versteh nicht ganz warum man bei einer Methode immer erst ein neues Feld erzeugen muss um reinschreiben zu können und bei der anderen scheinbar nicht.
Code:
public static int [] [] pascal (int n) { Code:
String [] [] b = new String [n] []; Das verstehe ich nicht ganz warum man hier nicht auch erst neue Felder anlegen muss, vielleicht kann mir das jemand erklären danke =) |
Habe glaub eine Lösung gefunden.
b[++] zeigt nur auf a[i] deswegen muss keine genauere länge für das array angegeben werden. |
Zuerst einmal: Du hast eine sehr "interessante" Denkweise.....Sachen wie
Code:
a[i][a[i].length − 1] 1. Dimension an der Stelle i. 2. Dimension an der Stelle "Länge der 2. Dimension an der Stelle i - 1". Aber wenn es nicht anders geht...:rolleyes: Und wie du gedacht hast, war schon richtig mit dem Zeiger (in Java besser: Referenzen), da b ein zweidimensionales Feld ist: -> b ist eine Referenz auf ein Array aus Referenzen, welche auf ein Array aus Strings referenzieren. Bei der "pascal"-Funktion arbeitest du bei Code:
p[i][j] = p[i−1][j−1] + p[i−1][j]; D.h. du hast die Jeweiligen Werte (in diesem Fall Integer..) Bei deinem 2. Beispiel arbeitest du bei Code:
b[n++] = a[i]; -> Du arbeitest mit Referenzen. Mfg |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:46 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.