danvan Geschrieben 6. Dezember 2008 Geschrieben 6. Dezember 2008 hallo, ich hasse java, leider muss ich den ****** aber im Studium verwenden. Es treten derart viele Probleme auf, die normalerweise garnicht auftreten dürften. Also ich möchte ne Klasse schreiben, die Portfoliobestände erfasst. Da ist dann eben der Name der Aktie, die Stückzahl und der Einstiegskurs drin. Ich möchte das über Hashtables machen. Also wollte ich als Key den namen der Aktie nehmen und als value ein double-array mit 3 werten: stückzahl, einstiegskurs, positionswert (multiplikation aus den beiden ersten) leider kann ich nicht auf die verschiedenen werte im double-array zurückgreifen. Da gibts ne Exception. summary.get(aktienname)[0] // z.B. stückzahl der aktie aktienname // summary ist der bestands-hashtable wie greife ich denn auf ein array als value zurück? LG Zitieren
Aiun Geschrieben 6. Dezember 2008 Geschrieben 6. Dezember 2008 also zum einen hilft es extrem wenn du die Sprache die du benutzen musst nicht verfluchst. Denn die leute die dir helfen könnten sind die, die damit keine Probleme haben und es somit nicht als ***** bezeichnen. warum ein Array ? Java, als sogenannte objektorientierte Sprache, gibt dir die möglichkeit eine Klasse zu definieren die für deine Aktien steht. 2. "da ist ne Exception" ist keine unzureichende Fehlermeldung, und "Wie implementiere ich das?" kein aussagekräftiger Titel, ich bin jetzt nur zu faul den link zu suchen "wie man fragen richtig stellt" 3. Hashmaps sind universelle Datencontainer, genauso wie Vector und Collection, alles was dort rein und raus geht, sind objekte. Wenn du ein Array aus doubles verwendest musst du das zurück casten wenn du es raus holst, weil dein Array erst einmal als Objekt als ganzes verwendet wird. Zitieren
danvan Geschrieben 6. Dezember 2008 Autor Geschrieben 6. Dezember 2008 @Aiun: Nur weil ich mit java nicht zurechtkomme, heißt es nicht,d ass ich keine Ahnung vom Programmieren habe. Ich weiß, was objektorientierung ist und arbeite schon seit Jahren mit diesen Konzepten. In PHP hatte ich nie Probleme. ich schreibe eine Klasse namens Portfolio, die die Methoden addShare(String name, int zahl, double kurs) und getShare(String name) besitzt. private static Hashtable summary; das ist der bestands-hashtable. Nun soll darauf zugegriffenwerden. in meinem hauptprogramm steht: Portfolio my = new Portfolio(100); my.addShare("MAN",1000,20.35); // füllt den hashtable und wie caste ich das zurück? Das bringts nicht. Wenn ich es nach double zurückcaste, wäre es zumindest unlogisch, da es ja double[] ist und nicht double... Zitieren
perdian Geschrieben 6. Dezember 2008 Geschrieben 6. Dezember 2008 und wie caste ich das zurück?So, wie man in Java eben ein Casting durchführt - das kannst du ja sicherlich, wenn du dich mit Programmierung an sich auskennst. Ernsthaft: Lasst Hashtable links liegen und verwendet stattdessen eine java.util.Map Implementierung, in diesem Falle HashMap. Was mir bei die fehlt ist eine Wrapper Klasse für den Bestand, die sollte dann in die Map im Portfolio geschrieben werden. Aus dem Bauch und ungetestet: public class Portfolio { private Map<String, ShareEntry> myEntries = new HashMap<String, ShareEntry>(); public void addShare(String name, int amount, double value) { this.getEntries().put(name, new ShareEntry(amount, value)); } public ShareEntry getShare(String name) { return this.getEntries().get(name); } // Getter und Setter bitte selbst denken } Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.