Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Java
You last visited: Today at 14:57

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Anfänger-Hilfe] Frage zu Rückgabewerten in Schleifen

Discussion on [Anfänger-Hilfe] Frage zu Rückgabewerten in Schleifen within the Java forum part of the Coders Den category.

Reply
 
Old 12/13/2018, 17:11   #16
 
sk8land​'s Avatar
 
elite*gold: 120
Join Date: Nov 2018
Posts: 968
Received Thanks: 2,311
Code:
i < this.shapes.length
ist schon richtig.

instanceof ist hier allerdings nicht notwendig und sollte generell möglichst selten benutzt werden.
sk8land​ is offline  
Thanks
1 User
Old 12/13/2018, 17:42   #17


 
Kizuaki's Avatar
 
elite*gold: 0
The Black Market: 173/0/0
Join Date: Jan 2011
Posts: 1,047
Received Thanks: 188
Quote:
Originally Posted by Zunft View Post
Die PDF existiert nicht.
Komisch .. zum Zeitpunkt des Postens ging der Link noch

Aktueller Link wurde nun jedoch editiert.


Quote:
Originally Posted by Zunft View Post
Wo genau ist das Problem? Eine Lösung hast du ja scheinbar schon.

Du hast ein Interface, welches die Struktur vorschreibt. Die Klassen Rectangle und Circle implementieren dieses Interface. Dadurch kannst du ein Array mit Bezug auf das Interface erstellen und darin sowohl Rectangle als auch Circle (=jede Geometric implementierende Klasse) speichern.



Ohje, anscheinend hatte ich gar kein Problem, ich war wohl nur so extrem übermüdet, dass ich den Iterator "[i]" nach this.shapes vergessen hatte...

Edit: Nee, hatte wohl doch 'ne Lücke in meinem Verständnis. Dachte, dass man nach der For-Schleife sozusagen bereits beim gewünschten Objekt ist und diesen dann normal mit this.shapes aufrufen kann .. (hatte den selben Fehler nämlich soeben wiederholt gemacht ... lol)

Danke!

Quote:
Originally Posted by Zunft View Post

P.S.: Lösche doch nicht deinen Startpost. Wenn jetzt irgendjemand ein ähnliches Problem hat, kann er mit dem Thema hier nichts mehr anfangen und muss ein neues erstellen.
Da war ich wohl etwas sehr egozentrisch unterwegs, werde ich mir für die Zukunft merken!


Quote:
Originally Posted by sk8land​ View Post
instanceof ist hier allerdings nicht notwendig und sollte generell möglichst selten benutzt werden.
Mein Intention war es zu prüfen, ob das sich im Array befindliche Objekt nun zu Circles oder zu Rectangle gehört, um die entsprechende Funktion aufzurufen ....

Mir ist erst gerade aufgefallen, dass solch eine Unterscheidung absolut keinen Sinn macht, weil der Compiler je nach Objekt im Array dann selbstständig entscheidet, welche Methode ädaquat sein wird .. oder?


@ Zunft & sk8land​ Danke für eure Hilfe

Neue Frage:

Bei der Aufgabe 5 müsste ich nun die Breite und Länge der im Array vorhandenen Objekte verändern, leider kann ich auf die Getter- und Setter-Methoden der jeweiligen Klassen nicht zugreifen.

(this.shapes[i].getHeight() funktioniert logischerweise nicht, da diese Funktion ja nicht im Interface vorhanden ist.)

Meine Idee war, dass ich mit instanceof prüfe um welches Objekt es sich handelt und dementsprechend ein komplett neues Objekt erstelle und mit diesem dann die Methoden aufrufe und das Array[i] dann mit diesem neuen Objekt überschreibe.

... funktioniert jedoch nicht, da man einem Circle/Rectangle-Objekt kein Geometric "zuweisen" kann



Quote:
Originally Posted by sk8land​ View Post
Genau, allerdings entscheidet sich das erst zur Laufzeit. Der Compiler weiß noch nicht, welche Klassen die Array-Elemente haben. Dass man das so grob versteht soll wahrscheinlich der Sinn der Übung sein.
Das ist sehr wahrscheinlich, denn soeben bin ich diesem Problem erneut begegnet.



1d sollte es natürlich heißen.
Kizuaki is offline  
Old 12/13/2018, 18:15   #18
 
sk8land​'s Avatar
 
elite*gold: 120
Join Date: Nov 2018
Posts: 968
Received Thanks: 2,311
Quote:
Originally Posted by Kizuaki View Post
Mir ist erst gerade aufgefallen, dass solch eine Unterscheidung absolut keinen Sinn macht, weil der Compiler je nach Objekt im Array dann selbstständig entscheidet, welche Methode ädaquat sein wird .. oder?
Genau, allerdings entscheidet sich das erst zur Laufzeit. Der Compiler weiß noch nicht, welche Klassen die Array-Elemente haben. Dass man das so grob versteht soll wahrscheinlich der Sinn der Übung sein.
sk8land​ is offline  
Thanks
1 User
Old 12/14/2018, 11:21   #19
 
Zunft's Avatar
 
elite*gold: 0
Join Date: Mar 2013
Posts: 3,184
Received Thanks: 1,317
Quote:
Originally Posted by sk8land​ View Post
Code:
i < this.shapes.length
ist schon richtig.
Bin ich grad aufm Holzweg? Nehmen wir mal an das Array hat einen Eintrag also ist length=0. Dann würde die Schleife direkt abgebrochen. Oder ich bin grad ziemlich dumm.

Ja ich bin dumm.

Quote:
Originally Posted by Kizuaki View Post
Das ist sehr wahrscheinlich, denn soeben bin ich diesem Problem erneut begegnet.



1d sollte es natürlich heißen.
Du musst hier casten. Also
Code:
Circle circle = (Circle) this.shapes[i]
Zunft is offline  
Thanks
1 User
Old 12/14/2018, 12:09   #20


 
Kizuaki's Avatar
 
elite*gold: 0
The Black Market: 173/0/0
Join Date: Jan 2011
Posts: 1,047
Received Thanks: 188
Quote:
Originally Posted by Zunft View Post


Du musst hier casten. Also
Code:
Circle circle = (Circle) this.shapes[i]
Das habe ich noch nie gesehen, was genau bewirkt das "(Circle)"?

Bzw. ist es offensichtlich was es bewirkt, aber worum genau handelt es sich?
Kizuaki is offline  
Old 12/14/2018, 13:36   #21
 
Zunft's Avatar
 
elite*gold: 0
Join Date: Mar 2013
Posts: 3,184
Received Thanks: 1,317
Quote:
Originally Posted by Kizuaki View Post
Das habe ich noch nie gesehen, was genau bewirkt das "(Circle)"?

Bzw. ist es offensichtlich was es bewirkt, aber worum genau handelt es sich?
Das ist eine Typanpassung (engl. typecast) bzw. genauer gesagt eine explizite Typanpassung.
Finde ich schwierig zu erklären ist aber denke ich offensichtlich, was da passiert.
Zunft is offline  
Thanks
1 User
Old 12/14/2018, 15:41   #22
 
Mikesch01's Avatar
 
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
Lektüre:
(Typecast)
(Polymorphie)
Mikesch01 is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
[C-Anfänger]Array,Schleifen
11/17/2015 - C/C++ - 6 Replies
Hey, ich bräuchte mal eure Hilfe! In diesem Programm sollen Daten gespeichert und auf Wunsch ausgegeben werden. Probleme: -Beim Eingeben eines Produktes/Kunde muss ich direkt alle zehn Arrays eingeben. Eigendlich möchte ich nur ein Array pro eingeben. -Bei der Ausgabe werden mir 10 Produktnamen, aber nur eine ProduktID und unzwar die 0 ausgebeben. Selber habe ich schon viel gegoogelt und auch schon eine ähnliche Lösung gefunden die für mich als Anfänger sehr Komplex war. Ich nehme...
Quest - Funktionen mit mehreren Rückgabewerten
11/13/2014 - Metin2 Private Server - 0 Replies
Hello there, ich bin zu blöd für das höhere "LUA" und deshalb frag' ich hier nach :) Ich hab durch 'ne Lib von iMer die Funktion "item2.get_attr(index)", welches den applytype und applyvalue (Also - Bonus-Art und Bonus-Menge) eines Items an der Stelle "index" ausgibt. Beispiel: Schwert+0 hat folgende 5 Bonis: -Angriffswert +3 -Maximale HP + 100 -Angriffsgeschwindigkeit +2% -keiner
while schleifen frage ...HILFE?!?!?!?!
03/31/2012 - AutoIt - 2 Replies
Ich hab hier einen sehr simplen script, wo ich mir eig sicher bin das er richtig is.. doch es kommt immer eine fehlermeldung hier der script While 1 Sleep ( 5000 ) MouseClick("left", 120, 305, 1) Sleep ( 5000 )
[Frage/Hilfe] einfaches Klick-Schleifen Tool
07/30/2011 - General Coding - 1 Replies
Hey, ich bräuchte ein kleines Tool womit ich von einer Seite einen Link anklicken kann und das ca 200 mal aber nicht den gleichen link sondern von einer anderen Seite einenLink der aber im prinzip der gleiche ist! Wenn das geschehen ist soll er die alten seiten schließen so das nur noch die neuen da sind! Auf dieser Seite muss ich dann ein Captcha eingeben wenn dies geschehen ist soll sich das Tool wieder einschalten und dann auf der seite wo das captcha eingegebn wurde wieder einen link...
FRAGE FRAGE FRAGE FRAGE FRAGE FRAGE FRAGE
03/21/2011 - Technical Support - 5 Replies
Hi Leute, Habe ein Problem mit meinen PC. Habe Win 7 drauf will ihn formatieren also komlett reseten auf werkseinstellungen. Eine Recovery CD ist net dabei ( ist ein Notebook falls es wichtig ist xD ). Habe es mit dem format c probiert dann klick ich das an öffnet sich nur ein schwarzes kleines fenster das sich sofort wieder schließt. Wahrscheinlich falsche ruprik für solche probleme verschiebt mich einfach xDD. Danke im Vorraus ;) MFG



All times are GMT +2. The time now is 14:57.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.