array neu setzen...
LazyWolf
- java
0 Maike0 Daniel Thoma
Ich habe zwei Arrays, um ein Polygon zu zeichnen..:
public void paint(Graphics g)
{
int[] arx = {50,50,120,120,80,80,100,100,80,80};
int[] ary = {170,40,40,70,70,100,100,130,130,170};
g.drawPolygon(this.arx,this.ary,this.arx.length);
}
Nun möchte ich direkt danach noch eins Zeichnen und dafür die gleichen Variablen (Arrays) verwenden...
Wie setze ich da nun neue Werte rein? Ich kriege es irgendwie nicht hin.
Ich habe zwei Arrays, um ein Polygon zu zeichnen..:
public void paint(Graphics g)
{
int[] arx = {50,50,120,120,80,80,100,100,80,80};
int[] ary = {170,40,40,70,70,100,100,130,130,170};
g.drawPolygon(this.arx,this.ary,this.arx.length);
}Nun möchte ich direkt danach noch eins Zeichnen und dafür die gleichen Variablen (Arrays) verwenden...
Wie setze ich da nun neue Werte rein? Ich kriege es irgendwie nicht hin.
Hallo,
müsste doch eigentlich funktionieren, wenn du nachdem du das erste polygon gezeichnet hast, die beiden variablen neu setzt und nochmal zeichnest:
arx = {...}
ary = {...}
g.drawPolygon(this.arx,this.ary,this.arx.lenght);
Gruß Maike
Ich habe zwei Arrays, um ein Polygon zu zeichnen..:
public void paint(Graphics g)
{
int[] arx = {50,50,120,120,80,80,100,100,80,80};
int[] ary = {170,40,40,70,70,100,100,130,130,170};
g.drawPolygon(this.arx,this.ary,this.arx.length);
}Nun möchte ich direkt danach noch eins Zeichnen und dafür die gleichen Variablen (Arrays) verwenden...
Wie setze ich da nun neue Werte rein? Ich kriege es irgendwie nicht hin.Hallo,
müsste doch eigentlich funktionieren, wenn du nachdem du das erste polygon gezeichnet hast, die beiden variablen neu setzt und nochmal zeichnest:arx = {...}
ary = {...}
g.drawPolygon(this.arx,this.ary,this.arx.lenght);Gruß Maike
Anscheinend nicht...
Folgendes:
public void paint(Graphics g)
{
int[] arx = {50,50,120,120,80,80,100,100,80,80};
int[] ary = {170,40,40,70,70,100,100,130,130,170};
g.drawPolygon(arx,ary,arx.length);
arx = {100,50,120,120,80,80,100,100,80,80};
ary = {170,40,40,70,70,100,100,130,130,170};
g.drawPolygon(arx,ary,arx.length);
}
...liefert ein paar Fehlermeldungen beim compilieren:
grafik.java:27: illegal start of expression
arx = {100,50,120,120,80,80,100,100,80,80};
^
grafik.java:28: illegal start of expression
ary = {170,40,40,70,70,100,100,130,130,170};
^
2 errors
grafik.java:27: illegal start of expression
arx = {100,50,120,120,80,80,100,100,80,80};
^
grafik.java:28: illegal start of expression
ary = {170,40,40,70,70,100,100,130,130,170};
Da das durch die Formatierung hier nicht so ganz deutlich wird:
Die ^ in den Fehlermeldungen befinden sich jeweils unter der ersten geschweiften Klammer...
(Mit diesen Foruminternen Funktionen hier, die einen nicht posten lassen, kann man sich ja stundenlang kloppen!)
LazyWolf
grafik.java:27: illegal start of expression
arx = {100,50,120,120,80,80,100,100,80,80};
^
grafik.java:28: illegal start of expression
ary = {170,40,40,70,70,100,100,130,130,170};
^
2 errors
Hallo,
und wenn du einfach zwei neue Arrays anlegst?? Geht's dann?
Oder müssen es unbedingt die selben sein?
Gruß Maike
Hallo,
und wenn du einfach zwei neue Arrays anlegst?? Geht's dann?
Oder müssen es unbedingt die selben sein?
Gruß Maike
Am liebsten fürde ich eine Funktion oder Methode oder wie man das nennt machen, an die ich die Array Werte übergeben kann und die dann jedesmal ein Polygon damit zeichnet.
Ich kriege das aber alles nicht hin, weil ich neu bei Java bin und nichts wirklich geeignetes in Manuals finde.
Wenn ich mehrere Polygone zeichnen will, wo komme ich denn da hin, wenn ich jedes Mal neue Variablen dafür nehme?!?
Java hat schon einige Eigenarten, muss man ja mal so sagen...
Gibt es nicht vielleicht sowas wie unset() von PHP?
M.f.G
Am liebsten fürde ich eine Funktion oder Methode oder wie man das nennt machen, an die ich die Array Werte übergeben kann und die dann jedesmal ein Polygon damit zeichnet.
Ich kriege das aber alles nicht hin, weil ich neu bei Java bin und nichts wirklich geeignetes in Manuals finde.
vielleicht so:
public int[] werteSetzen (int[] array, in[] array2)
{
for(int i=0; i<array.length(); i++)
{
arx[i] = array[i];
ary[i] = array2[i]
}
}
int[] werte = {1,2,3...}
int[] werte2 = {1,2,3...}
werteSetzen(werte, werte2);
hoffe das hilft,
den code hab ich jetzt einfach mal so auswendig hingeschrieben, deswegen kann es sein, dass einige syntaxfehler drin sind... oder sonstige kleine fehler...
leider muss ich jetzt weg und kann dir nicht weiter helfen,
hoffe, du kriegst das hin.
gruß maike
quatsch, ich meine natürlich so:
public void werteSetzen (int[] array, in[] array2)
{
for(int i=0; i<array.length(); i++)
{
arx[i] = array[i];
ary[i] = array2[i]
}
}int[] werte = {1,2,3...}
int[] werte2 = {1,2,3...}werteSetzen(werte, werte2);
gruß maike
Hi,
^
grafik.java:28: illegal start of expression
ary = {170,40,40,70,70,100,100,130,130,170};
^
2 errors
Diese Syntax ist gemäß Spezifikation _nur_ bei der gleichzeitiger Deklaration (int[] arr = {x,x,x}) erlaubt.
Viele Grüße,
Martin Jung
Hallo Wolf,
Das geht so:
arx = new int[] {0,1,2,3,4,....};
Grüße
Daniel
hi!
arx = new int[] {0,1,2,3,4,....};
Ob das aber besonders sinnig ist? Denn so wird jedesmal das Array
neu initialisiert. Wenn man das alte Array überschreiben würde (falls
das neue genauso viele Werte enthält), hätte man wohl etwas Rechenzeit
gespart.
Ansonsten kann man ja gleich ein anonymes Array anlegen, indem man mit
obiger Methode innerhalb des Funktionsaufrufs das Array initialisiert.
Das kostet genauso viel, braucht aber keine eigenen Variablen mehr.
bye, Frank!