Register for your free account! | Forgot your password?

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

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

Advertisement



[Java] Objekte mit Foreach ausgeben

Discussion on [Java] Objekte mit Foreach ausgeben within the Java forum part of the Coders Den category.

Reply
 
Old   #1


 
_Headsh0t_'s Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 13,882
Received Thanks: 9,861
[Java] Objekte mit Foreach ausgeben

Hallo zusammen,

Ich habe im Studium gerade mit Java angefangen und bräuchte mal ebend Hilfe.
Ich habe eine Klasse Rohstoffe, eine Klasse Items und eine Klasse Main.

In der Main-Klasse will ich über eine showShop()-Methode alle Rohstoffe in einer foreach-Schleife ausgeben lassen.

Der Rohstoffe Konstruktor sieht wie folgt aus
Code:
Rohstoffe(int id, String name, int strength, int cost, int price)
in der Items-Klasse erzeuge ich die Rohstoffe-objekte wie folgt:
Code:
Rohstoffe stein = new Rohstoffe(0, "Stein", 0, 10, 5);
Rohstoffe eisen = new Rohstoffe(1, "Eisen", 1, 20, 8);
wie kann ich nun in der Main auf die Rohstoffe in Items zugreifen und in einer Schleife ausgeben?
_Headsh0t_ is offline  
Old 11/18/2014, 21:38   #2
 
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 573
Du brauchst einen Array der Rohstoffe

PHP Code:
Rohstoffe[] rohstoffe = new Rohstoffe[2]; //2 ist die Anzahl der elemente
rohstoffe[0] = new Rohstoffe(0"Stein"0105);
rohstoffe[1] = new Rohstoffe(1"Eisen"1208);

for (
Rohstoffe r rohstoffe) {
  
System.out.println(r.name r.strength r.cost r.price); 

warfley is offline  
Old 11/18/2014, 22:00   #3


 
_Headsh0t_'s Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 13,882
Received Thanks: 9,861
so hat der Rohstoff aber keinen namen mehr.
Also müsste ich in anderen Klassen über den Arrayindex auf diesen Rohstoff zugreifen. Das ist ziemlich umständlich, wenn ich mal woanders stein.getId() o.Ä. aufrufen will.
_Headsh0t_ is offline  
Old 11/18/2014, 22:10   #4
 
xXKonaXx's Avatar
 
elite*gold: 20
Join Date: Nov 2010
Posts: 552
Received Thanks: 350
Ein Dictionary per
Code:
Map<String, Rohstoffe> dict = new HashMap<String, Rohstoffe>();
erstellen und dann über
Code:
dict.get("key");
dein Object ansprechen, wäre vielleicht eine Lösung.
xXKonaXx is offline  
Old 11/18/2014, 22:57   #5
 
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 573
Du nimmst den Array von oben und

PHP Code:
public Rohstoffe Stein;
...
Stein=rohsoffe[0]; 
so hast du einen Verweis auf den Array

oder du Machst einfach

PHP Code:
public Rohstoffe getRohstoffByName(string name) {
for (
Rohstoffe r rohstoffe) {
  if (
r.name == name) {
  return 
r;
}
}  

und nutzt das dann mit
PHP Code:
Items.getRohstoffByName("Stein").getId 
warfley is offline  
Old 11/18/2014, 23:28   #6
 
Mikesch01's Avatar
 
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
Die Variante von xXKonaXx wäre die Beste, da man nicht mehr über die Objekte iterieren müsste, sondern direkt per Key Zugriff hätte.
Mikesch01 is offline  
Old 11/20/2014, 19:21   #7


 
Menan's Avatar
 
elite*gold: 0
The Black Market: 169/0/0
Join Date: Sep 2008
Posts: 9,484
Received Thanks: 3,109
Du musst dir Getter Methoden schreiben. In deiner Rohstoff Klasse..

Code:
for (Rohstoffe r : rohstoffe) {
  System.out.println(r.getName() + r.getStrength() + r.getCost() + r.getPrice()); 
}
In der Items-Klasse solltest du eine Arrayliste führen, mit deinen ganzen Rohstoffen als Objekt darin.
Code:
ArrayList<rohstoffe> itemlist = new ArrayList<rohstoffe>()
Menan is offline  
Old 11/21/2014, 00:22   #8


 
Yo123's Avatar
 
elite*gold: 41
Join Date: Nov 2007
Posts: 3,385
Received Thanks: 2,700
gib doch bitte mal die konkrete aufgabe an. meistens ist man ja mit dem was man machen darf am anfang des studiums sehr eingeschränkt.
arrays sind in unserer java-vorlesung zum beispiel ein tabu thema. sämtliche libraries auch
Yo123 is offline  
Thanks
1 User
Old 11/21/2014, 00:46   #9

 
snow's Avatar
 
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
^this.

Aufgaben im Studium beschäftigen sich selten damit, die Lösung mithilfe der Standardbibliotheken zu finden, sondern mit dem Finden eines Algorithmus, mit dem ein Problem gelöst werden kann. Natürlich könnte man in der Algorithmen-Vorlesung einfach std::sort verwenden, das hilft einem aber nicht beim tieferen Verständnis der Theorie, und darum geht es beim Studium.
snow is offline  
Reply


Similar Threads Similar Threads
[Java] Array zusammengesetzt ausgeben ?
11/05/2014 - Java - 8 Replies
Hallo, Community. Ich habe in meinem Code einen Array, mit verschiedenen Werten. Diesen möchte ich zusammengesetzt ausgeben lassen und auch verwenden können. Ausgeben lassen habe ich diesen so: for(String x : array){ System.out.print(x); } So werden die einzelnen Werte aber nur aneinander angereiht, und ich kann die ganze Zusammensetzung nicht als Variable speichern bzw. benutzen.
Explode im Foreach
06/22/2014 - Web Development - 7 Replies
Hi, habe leider wieder ein Problem bei meiner zukünftigen Webseite. Ich möchte eine Userliste die zeilenweise im Format (user:pw) aus einer Textarea an PHP übergeben und schließlich zeilenweise auslesen. Hier mein PHP Code: <?php if (isset ($_POST)) { //Die Textarea nach jeder Zeile trennen und in einem Arrayfeld speichern
[Java] Objekte in anderen Klassen benutzen
08/08/2013 - General Coding - 8 Replies
Meine Frage ist, ich habe die Klasse Main erstellt, in dieser habe ich eine Box erstellt : public Main() { Box b1 = new Box(); b1.setColor("red"); } diese will ich jetzt in der Klasse Wuerfel verändern, wie kann ich also die Box übernehmen um Sie in Wuerfel verändern zu können? Und wie kann ich einen Befehl von der Box also beispielsweise b1.setVisible außerhalb vom Konstrukor verwenden?
[Java]Array vom Typ String > Inhalt ausgeben lassen
10/30/2012 - General Coding - 2 Replies
Ahoi epvp, String array= {"x", "y"}; Es handelt sich um diesen Array vom Typ String. Der befindet sich in Klasse "mitarbeiterSuche", allerdings will ich ihn in der Klasse "main" ausgeben. Woran kann das liegen? Eclipse sagt mir dauernd: "array cannot be resolved to a variable"
Java- Farbe ausgeben Problem
07/06/2011 - General Coding - 0 Replies
hey ihr coder, ich hab ein kleines problem und zwar sollen wir als projekt eine straßenkreuzung in java programmieren mit normaler straße, fußgängerweg, ampeln, autos und fußgängern grafisch wird das ganze mit "Zeichenfenster" dargestellt jetzt tritt folgendes problem auf: falls eine ampel auf rot steht hält das auto an, soweit gut jetzt benötige ich aber eine methode die es mir erlaubt den farbwert eines beliebigen pixels auf der zeichenoberfläche auszugeben um zu überprüfen, ob...



All times are GMT +1. The time now is 14:31.


Powered by vBulletin®
Copyright ©2000 - 2026, 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 ©2026 elitepvpers All Rights Reserved.