Auf einzelne Werte aus HashSet zugreifen

chupulio

Mitglied
Hallo Javaner,

ich bin Student und habe ein Modul belegt, in dem es auch um Java geht. Im Zuge der Prüfungsvorbereitung versuche ich mich an HashSets und habe mir selbst eine Aufgabe gestellt, die ich wohl überschätzt habe:
Ich habe ein Hashset erstellt, das in meiner main-Methode ein Gebäude mit durch das HashSet erstellten Einheiten ausgibt. Jede Einheit verfügt über vier Werte: String, double, double, boolean. eines der double enthält den Mietpreis der Einheit. Ich hatte mir nun die Aufgabe gestellt, auf irgendeine Art und Weise die gesamten Mieteinnahmen ausgeben zu lassen, verzweifle aber am Zugriff auf das HashSet. In einem Array würde ich es über eine for Schleife (int i=0; i<name.einh.length; i++) wohl hinkriegen, mir fehlt es aber am Know-How, auf einen einzelnen Wert im HashSet zuzugreifen.
bei der bisherigen Recherche habe ich vom Iterator gelesen, ich kann das Prinzip bislang aber noch nicht auf meinen Sachverhalt übertragen und würde mich freuen, wenn mir jemand von euch helfen kann.
Wichtig: Es geht nicht um eine Hausaufgabe oder Übung, die ich bestehen muss und gelöst bekommen möchte, ich habe mir diese Aufgabe im Zuge meiner Lernphase vor der bevorstehenden mündlichen(!) Prüfung selbst ausgedacht.

Vielen Dank fürs bis hierhin Lesen und für jeden Hinweis!
 

chupulio

Mitglied
die for-Schleife habe ich als das, was ich im ersten Post bzgl des Arrays erwähnt habe kennengelernt, for-each sagt mir nichts, das suche ich mir nun zusammen, danke!
(Das Modul streift Java nur, ich finde es aber so interessant, dass meine aktuellen Bemühungen studienunabhängig, also von Eigeninteresse geprägt sind.)
 

chupulio

Mitglied
Ich komme nicht weiter, deshalb versuche ich jetzt mal, meinen bisherigen Code zu posten, vielleicht kann mir ja jemand helfen?

Als erstes habe ich eine Klasse für eine allgemeine Wohnheit erstellt:

Java:
public abstract class EH {
        //Einheit
   
        private String bez;
        private double flae;
        private double miete;
       
        public EH(String str0, double f, double m) {
           
        this.bez = str0;
        this.flae = f;
        this.miete = m;
        }
       
        public double getFlae() {
            return this.flae;
        }
        public double getMiete() {
            return this.miete;
        }
        public String toString() {
            return this.bez + " Flaeche: "+this.flae + " Miete : "+this.miete;
        }
}

Dann eine Vererbung an die spezielle Klasse der Gewerbeeinheit:

Java:
public class GE extends EH {
   
    private boolean mwst;
   
    public GE(String str0, double f, double m, boolean mwst) {
            super(str0, f, m);
            this.mwst = mwst;
    }
   
    public boolean getMWST() {
        return this.mwst;
    }
    public String toString() {
        return super.toString() +" MWSt: "+this.mwst;
    }
   

}

Dann eine Gebäudeklasse Bürogebäude (die Mutterklasse lasse ich mal weg), in der per HashSet Gewerbeeinheiten hinzugefügt werden können:

Java:
import java.util.*;
public class BGB extends GB{
   
    private HashSet<GE> ge = new HashSet<GE>();
   
    public BGB(String str0) {
        super(str0);
    }
   
    public void setGE(GE ge) {
        this.ge.add(ge);
    }
   
   
    public String toString() {
        String str = super.toString();
        for(GE akt_ge : this.ge) {
            str = str+ " \n "+akt_ge;
        }
        return str;
    }
   
}

Als Letztes eine Test.java mit einer main Methode, um dort ein solches Bürogebäude mit Gewerbeeinheiten zu erstellen:

Java:
import java.util.*;
public class Test {

    public static void main(String[] args) {
   
    BGB bgb0 = new BGB("Buerogebaeude A");
    bgb0.setGE(new GE("GE 1", 100.00, 500.00, true));
    bgb0.setGE(new GE("GE 2", 100.00, 600.00, true));
    bgb0.setGE(new GE("GE 3", 100.00, 550.00, true));
   
    System.out.println(bgb0);
       

       
    }
}

Eine Einheit hat also als Werte den Namen, die Fläche, die Miete und den boolean für die MwSt. Wie kann ich jetzt nur die Mietsummen zu einer Gesamtsumme addieren (bzw. generell auf einen einzelnen Wert innerhalb meines HashSet zugreifen? Würde mich echt über eine Hilfestellung freuen, bei mir läuft nichts zusammen. Habe versucht, mein getMiete irgendwie an akt_ge : this.ge zu hängen, aber das passt alles nicht :(
 

YOES1805

Mitglied
Eine for-each schleife hast du ja. Du fühst ja in die Hashset Objekte von den Gebäuden rein. So wie ich, dass noch in Erinnerung habe, kannst du in der for-each schleife akt_ge.getmiete() aufrufen.

Könntest dies ja mal versuchen. Wenn dies klappt musst du ja dann einfach in der schleife zusammen rechnen.
 

YOES1805

Mitglied
So ich habe mal versucht deinen Code zu auszuführen mit der Gesamt Miete. So wie ich das gesagt habe geht das mit akt_ge.getmiete(). Nur würde ich die for-each schleife nicht in die toString methode machen, sondern mir eine gesamtmiete Methode schreiben wo ich das berechnen lasse und einen double zurück geben lasse.

Und dann einfach diese methode in deiner Main methode aufrufen.
 

chupulio

Mitglied
Top, danke für die Hilfe, so hab ichs jetzt gemacht:

in BGB.java folgende Methode:

Java:
public double getGesamtmiete() {
        double gesamtm = 0.0;
        for(GE akt_ge : this.ge){
                gesamtm = gesamtm + akt_ge.getMiete();
    }
        return gesamtm;

und in der main dann nur noch die Zeile

Java:
System.out.println("Gesamtmiete ist :"+bgb0.getGesamtmiete()+",-");

hat sofort geklappt. Ein geniales Forum, tausend Dank! So macht Lernen Spaß.
 

MiMij

Bekanntes Mitglied
Noch ein Tipp: Verwende klare Variablennamen (mit ge oder akt_ge kann sonst keiner was anfangen und du musst im Zweifelsfall nach ein paar Wochen selber erstmal drüber nachdenken was es bedeutet hat). Und am besten gleich angewöhnen alles auf englisch zu machen (dann gibts auch keine Probleme mit den Umlauten ;))
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Einzelne Werte aus einem TreeSet auslesen Java Basics - Anfänger-Themen 2
F Einzelne Werte aus einem Array vergleichen? Java Basics - Anfänger-Themen 8
S Einzelne Werte von Array-Feld löschen Java Basics - Anfänger-Themen 15
C Einzelne Werte eines Arrays ausgeben Java Basics - Anfänger-Themen 2
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
E JTable einzelne Zelle färben Java Basics - Anfänger-Themen 2
B Verkettete Liste durchgehen und einzelne Elemente in neue Liste tun Java Basics - Anfänger-Themen 9
B Inventar als einzelne Klassen anlegen? Java Basics - Anfänger-Themen 12
X Wie kann ich Zahlen in einzelne Zifferne zerlegen? Java Basics - Anfänger-Themen 3
O Einzelne Bits umwandeln und prüfen Java Basics - Anfänger-Themen 23
K Einzelne Email verschieben nicht möglich Java Basics - Anfänger-Themen 3
F Arrays Sätze speichern und einzelne Worte mit Index Angabe auslesen Java Basics - Anfänger-Themen 4
M Einzelne Pixel in einem Bild auslesen und bearbeiten Java Basics - Anfänger-Themen 1
B lanterna einzelne Zeichen aus dem Terminal löschen Java Basics - Anfänger-Themen 0
C Matrixmultiplikation ohne einzelne Elemente aufzurufen Java Basics - Anfänger-Themen 2
T JTable einzelne Zeilen löschen Java Basics - Anfänger-Themen 3
A Variablen String Array in einzelne Strings auspalten Java Basics - Anfänger-Themen 4
J Methoden Einzelne Objekte eines Vectors addieren Java Basics - Anfänger-Themen 10
S Einzelne Buchstaben aus Jtextfield in array Java Basics - Anfänger-Themen 2
R Einzelne Zahlen von der Eingabe (Scan) weiterverarbeiten Java Basics - Anfänger-Themen 3
D Kleinere Positionsangabe als einzelne Pixel bei Image? Java Basics - Anfänger-Themen 28
H Input/Output JTextArea einzelne Zeile auslesen Java Basics - Anfänger-Themen 6
X String einzelne Buchstaben ersetzen Java Basics - Anfänger-Themen 4
M Einzelne Zeilen nach Zeichen auslesen Java Basics - Anfänger-Themen 4
T Erste Schritte einzelne Wörter aus textdatei lesen... Java Basics - Anfänger-Themen 4
M JTable einzelne Spalte rechtsbündig Java Basics - Anfänger-Themen 2
M JUnit - nur einzelne Methode testen? Java Basics - Anfänger-Themen 4
N TextZeile in einzelne Strings teilen, die mit Komma getrennt sind Java Basics - Anfänger-Themen 4
A einzelne Zeichen aus String auslesen Java Basics - Anfänger-Themen 3
J Von einem String einzelne Wörter speichern Java Basics - Anfänger-Themen 6
R einzelne Bits prüfen Java Basics - Anfänger-Themen 12
H String zerlegen in einzelne Buchstaben (char)?? Java Basics - Anfänger-Themen 7
A Einzelne TeilStrings einfärben Java Basics - Anfänger-Themen 3
S mehrere einzelne klassen in eine datei packen Java Basics - Anfänger-Themen 4
K Datentypen Liste: Einzelne Einträge ändern Java Basics - Anfänger-Themen 2
D Einzelne Ziffern aus einem String Java Basics - Anfänger-Themen 10
B Was für Aufgaben haben die einzelne Entwurfsmuster? Java Basics - Anfänger-Themen 9
B Laufzeitverschlechterung durch Auslagerung in einzelne Threads Java Basics - Anfänger-Themen 8
MrMilti einzelne Methoden einer Klasse auslagern Java Basics - Anfänger-Themen 6
T Einzelne Ziffer zusammenfügen (ohne Strings oder Arrays) Java Basics - Anfänger-Themen 2
M einzelne Pixel setzen/auslesen Java Basics - Anfänger-Themen 2
N aus HTML einzelne Inhalte (z.B. Tabelleninhalte) auslesen Java Basics - Anfänger-Themen 10
A Nur einzelne Methode einer anderen Klasse starten Java Basics - Anfänger-Themen 2
G Einzelne Datei im jar verändern ? Java Basics - Anfänger-Themen 5
B Einzelne Zellen in JTable markieren Java Basics - Anfänger-Themen 2
C String.split("") einzelne Positionen abfragen Java Basics - Anfänger-Themen 10
ven000m Primzahl.class wie starte ich diese einzelne Datei? Java Basics - Anfänger-Themen 10
R einzelne Zelle einer JTable bearbeiten Java Basics - Anfänger-Themen 2
M Object zu Int Problem, obwohl einzelne Objecte Int sind =( Java Basics - Anfänger-Themen 2
J String - einzelne Zeichen sortieren Java Basics - Anfänger-Themen 14
G Einzelne Zeilen beschreiben Java Basics - Anfänger-Themen 4
E einzelne Zeile mithilfe Steams aus Textdatei überschreiben Java Basics - Anfänger-Themen 23
F einzelne Buchstaben in JTextField ändern Java Basics - Anfänger-Themen 11
S setCellRenderer für EINZELNE Zelle Java Basics - Anfänger-Themen 9
S Zugriff auf einzelne Buchstaben eines String Java Basics - Anfänger-Themen 16
J Jtable - wie einzelne zelle markieren Java Basics - Anfänger-Themen 8
K Mehrere Werte in einem Switch Case parallel überprüfen Java Basics - Anfänger-Themen 7
F 2x 16bit Werte zu einem 32bit und dann splitten mit 0xb Java Basics - Anfänger-Themen 1
ptcho Werte/Position nach dem Funktionsaufruf tauschen? Java Basics - Anfänger-Themen 1
K Warum sind Werte in den Feldern ? Java Basics - Anfänger-Themen 2
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
javaBoon86 Arrays 2 Dimension Werte ausgeben Java Basics - Anfänger-Themen 15
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
TeacherMrSSimon Schachspiel, Werte in Figur eintragen klappt nicht Java Basics - Anfänger-Themen 23
TheSepp Nur Arrays ausgeben, die Werte zugewiesen haben. Java Basics - Anfänger-Themen 4
T ungeordnete Werte-Paare in einer Liste Java Basics - Anfänger-Themen 7
M Werte in Felder speichern und geordnet ausgeben Java Basics - Anfänger-Themen 8
R Methoden Werte einer ArrayList als Parameter übergeben. Java Basics - Anfänger-Themen 4
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
Jambolo Methode, welche die 3 letzten Parameter Werte speichert Java Basics - Anfänger-Themen 20
Chris.089 2 Werte im Array tauschen Java Basics - Anfänger-Themen 6
docmas 2DArray Werte werden nur untereinander ausgegeben Java Basics - Anfänger-Themen 1
M Nur int-Werte erlauben Java Basics - Anfänger-Themen 11
F Werte in einer Arraylist Zählen Java Basics - Anfänger-Themen 2
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
P Doppelte werte in einer Liste zählen Java Basics - Anfänger-Themen 11
M Wie kann eine Methode eine andere Methode um Werte wie z.B. 1 erhöhen? Java Basics - Anfänger-Themen 6
Igig1 Wie lasse ich dir Werte in einem Array zusammenrücken? Java Basics - Anfänger-Themen 4
Igig1 Welche Werte sind als default Werte in einem Array, der als Datentyp eine Klasse hat? Java Basics - Anfänger-Themen 1
J Methoden Positive Werte zählen Java Basics - Anfänger-Themen 3
E Meine JCombobox werte an ohne selectiert zu haben Java Basics - Anfänger-Themen 6
H OOP Werte mit Set verändern Java Basics - Anfänger-Themen 6
W Werte durch Konsole einlesen Java Basics - Anfänger-Themen 10
H Welche Werte bei Objekterzeugung eingeben? Java Basics - Anfänger-Themen 2
M Von einem Menü Methode aus anderer Klasse ausführen, die errechnete Werte in Datei schreibt. Java Basics - Anfänger-Themen 8
sashady ursprüngliche Array-Werte bei erneutem Aufruf? Java Basics - Anfänger-Themen 7
cmn489 Werte beim Funktionsaufruf in ein Feld übertragen(falls dieses leer ist) Java Basics - Anfänger-Themen 1
E In Array Werte einfügen? Java Basics - Anfänger-Themen 5
HighLife Bestimmte Werte aus Array zählen Java Basics - Anfänger-Themen 15
L Methoden ArrayList Werte hinzufügen und löschen Java Basics - Anfänger-Themen 32
J Zufallszahlen generieren und Werte vergleichen Java Basics - Anfänger-Themen 3
M Wie kann ich Werte die in einer While Schleife sind weiter genutzt werden? Java Basics - Anfänger-Themen 7
L Werte von Objekte addieren Java Basics - Anfänger-Themen 14
R Werte und Reihenfolge in 2d Arrays vergleichen Java Basics - Anfänger-Themen 5
I Werte (u.a. Geldbeträge) in Datenbank speichern und Rundungen? Java Basics - Anfänger-Themen 8
eleonori Durchschnitt aller Werte eines Baums berechnen Java Basics - Anfänger-Themen 5
G Array Werte addieren Java Basics - Anfänger-Themen 4
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4
C Array-Werte werden gemischt, ohne Logik Java Basics - Anfänger-Themen 2
java3690 Java- liste füllen ud die werte addieren Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Neue Themen


Oben