Array Implementation
-
- Gast
Array Implementation
Kann mir jemand erklären wieso das hier nicht funktioniert?
int[] array = new int[2];
array[0] = 10;
array[1] = 20;
Ich bekomme da immer die Fehlermeldung ']' expected
int[] array = new int[2];
array[0] = 10;
array[1] = 20;
Ich bekomme da immer die Fehlermeldung ']' expected
-
- Mausschubser
- Beiträge: 58
- Registriert: 15. Jan 2014 20:50
Re: Array Implementation
Die Zuweisung von Werten in einem Array je nach Index funktioniert nur innerhalb einer Methode, wenn ich mich nicht irre.
Also z.B.:
Willst du ein Array mit festen Werten initialisieren, dann schreist du das so:
Also z.B.:
Code: Alles auswählen
public void setValues(){
array[0] = 10;
array[1] = 12;
}
Code: Alles auswählen
int[] array = {10,12};
-
- Gast
Re: Array Implementation
hmm ok danke für die Info.
Und wieso funktioniert folgendes nicht?
Da bekomme ich dann immer ein illegal start of expression
Noch eine Frage am Rande, die erste Angabe vom Datentyp bei der Array Deklaration gibt ja an welchen Datentyp das Array speichern kann, für was dient die Angabe vom Datentyp wenn man ein Array initialsiert, also z.b. new int[2]
Und wieso funktioniert folgendes nicht?
Code: Alles auswählen
public class test
{
public double[] min;
public test(double min)
{
min = {3.4,44.5,6.8,0.2,22.1,92.4,40.5,10.8,1.0,34.0};
}
Noch eine Frage am Rande, die erste Angabe vom Datentyp bei der Array Deklaration gibt ja an welchen Datentyp das Array speichern kann, für was dient die Angabe vom Datentyp wenn man ein Array initialsiert, also z.b. new int[2]
Re: Array Implementation
Sollte gehen:
Das new double[] hat gefehlt. Außerdem würde in deinem Fall der Parameter min das Feld min überschatten, was zu einem Typfehler führt (der Versuch, ein double-Array an einen einzelnen double-Wert zuzuweisen, scheitert).
Code: Alles auswählen
public class test
{
public double[] min;
public test()
{
min = new double[] { 3.4,44.5,6.8,0.2,22.1,92.4,40.5,10.8,1.0,34.0 };
}
}
Die gibt an, für wie viele Elemente im Array Platz sein soll. new int[2] legt ein Array für zwei ints an, auf dessen Elemente du mit Index 0 oder 1 zugreifen kannst.Gast hat geschrieben:Noch eine Frage am Rande, die erste Angabe vom Datentyp bei der Array Deklaration gibt ja an welchen Datentyp das Array speichern kann, für was dient die Angabe vom Datentyp wenn man ein Array initialsiert, also z.b. new int[2]
Ophasentutor SoSe 2014, WiSe 2015/16
Alle Angaben wie immer ohne Gewähr
Alle Angaben wie immer ohne Gewähr
-
- Gast
Re: Array Implementation
Zur ersten Antwort:
Tatsächlich funktioniert so, also wenn man das Array direkt initialisiert dann geht auch
double[] min = new double[] { 3.4,44.5,6.8,0.2,22.1,92.4,40.5,10.8,1.0,34.0 };
Und wenn man das zu Beginn nur deklariert und dann später erst initialisiert muss man noch ein new double[] einfügen, liege ich mit dieser Feststellung jetzt so richtig?
Der Parameter ist an dieser Stelle natürlich so falsch da gehört natürlich dann double[] min hin.
Zur zweiten Antwort:
Das die Zahl in den Klammern die Anzahl der möglichen Elemente angibt ist mir klar, ich weiß jetzt nur nicht für was die beiden Angaben von den Datentypen beim Array stehen.
z.B. int[] array = new int[4]
Was ist jetzt der genaue Unterschiede zwischen dem ersten und zweiten int?
Tatsächlich funktioniert so, also wenn man das Array direkt initialisiert dann geht auch
double[] min = new double[] { 3.4,44.5,6.8,0.2,22.1,92.4,40.5,10.8,1.0,34.0 };
Und wenn man das zu Beginn nur deklariert und dann später erst initialisiert muss man noch ein new double[] einfügen, liege ich mit dieser Feststellung jetzt so richtig?
Der Parameter ist an dieser Stelle natürlich so falsch da gehört natürlich dann double[] min hin.
Zur zweiten Antwort:
Das die Zahl in den Klammern die Anzahl der möglichen Elemente angibt ist mir klar, ich weiß jetzt nur nicht für was die beiden Angaben von den Datentypen beim Array stehen.
z.B. int[] array = new int[4]
Was ist jetzt der genaue Unterschiede zwischen dem ersten und zweiten int?
Re: Array Implementation
Ja.Gast hat geschrieben:Und wenn man das zu Beginn nur deklariert und dann später erst initialisiert muss man noch ein new double[] einfügen, liege ich mit dieser Feststellung jetzt so richtig?
Ah, ok. Also das erste, "int[]" ist der Datentyp. Du sagst also nur aus, dass array mal auf ein Array von ints zeigen wird. Du sagst an dieser Stelle nicht, wie viele Elemente das Array mal haben wird, denn du kannstGast hat geschrieben:z.B. int[] array = new int[4]
Was ist jetzt der genaue Unterschiede zwischen dem ersten und zweiten int?
Code: Alles auswählen
int[] a;
a = new int[1];
//a hat momentan nur ein Element
a = new int[2];
//a hat momentan jetzt zwei Elemente: Ein neues Array
Ophasentutor SoSe 2014, WiSe 2015/16
Alle Angaben wie immer ohne Gewähr
Alle Angaben wie immer ohne Gewähr
-
- Gast
Re: Array Implementation
Hmm ok dann habe ich das jetzt soweit verstanden, danke nochmals.
Aber wenn ich jetzt drüber nachdenke, dann ist doch das zweite int bei a = new int[1]; doch ziemlich unnötig, weil man doch an dieser Stelle sowieso nur den Datentyp angeben kann, den man schon bei der Deklaration von der Array Variablen vergeben hat, oder übersehe ich da was?
Aber wenn ich jetzt drüber nachdenke, dann ist doch das zweite int bei a = new int[1]; doch ziemlich unnötig, weil man doch an dieser Stelle sowieso nur den Datentyp angeben kann, den man schon bei der Deklaration von der Array Variablen vergeben hat, oder übersehe ich da was?
Re: Array Implementation
Du wirst dich wundern, es gibt sogar int [] a = new int[0]; und das braucht man auch manchmal, z.B. wenn man während der Laufzeit die Länge des Arrays verändern möchte und von Beginn an noch nicht genau weiß, wie lang es wird.
-
- Gast
Re: Array Implementation
das mit dem ersten und zweiten int folgt den standardregeln bzgl. der initialisierung von objekten. du könntest statt der deklarierten klasse (erstes int[]) auch nen beliebige subtyp (zweites int[]) initialisieren. bei arrays gibts glaub ich keinen. das hält dich aber nicht davon ab eigene, neue subtypen zu schreiben, welche sich das dann zu nutze machen...
-
- Gast
Re: Array Implementation
ah ok also einfach eine Regel die man stupide anwenden sollte.
@SophiaLi1
Mir ging es jetzt darum, dass ja sowas wie
int[] array;
array = new double[1]
nicht funktioniert
@SophiaLi1
Mir ging es jetzt darum, dass ja sowas wie
int[] array;
array = new double[1]
nicht funktioniert
Re: Array Implementation
Achso, hab das nicht gelesenGast hat geschrieben: Mir ging es jetzt darum, dass ja sowas wie
int[] array;
array = new double[1]
nicht funktioniert
