S
super-girl
Gast
Hallo ihr schlauen und hübschen Menschen!
Bin Wirtschaftsinformatik-Studentin und im zweiten Semester. Ich muss sagen, Programmieren ist nicht meine Stärke, eher BWl. Aber JAVA-Programmieren gehört halt dazu.
Wir haben jetzt folgende Aufgabe gestellt bekommen, an der ich hänge (Meine Ansätze schreibe ich nach der Aufgabe):
Für eine Analyse des Börsenkurses einer speziellen Aktie soll der Kursverlauf in einem bestimmten
Zeitraum untersucht werden. Dabei soll nachträglich der beste Einkaufstag festgestellt werden.
Es wird angenommen, dass in dem gesamten Zeitraum nur einmal ein Kauf und ein Verkauf
stattfindet. Der beste Einkaufstag wäre derjenige gewesen, der zu einem eingesetzten Betrag den
höchsten Gewinn erbracht hätte (Steuern etc. ausgelassen).
Der Kursverlauf der Aktie in dem betrachteten Zeitraum ist durch eine Zahlenfolge gegeben. Die
erste Zahl ist der Kurs der Aktie am ersten Börsentag und jede folgende Zahl gibt die Kursveränderung gegenüber dem Vortag an. Der Kurs, der sich für einen gewissen Tag ergibt, gilt für
alle Käufe und Verkäufe dieses Tages.
Zum Beispiel liefert die Eingabe
127.5 -0.5 2 -1 1 3.5 -13 7 -2 -6 -9 -21 -17 -5 0.5 4 -7 -12 2.5 -3 2
das Ergebnis:
Ein bester Einkaufstag wäre der 14. Börsentag gewesen,
ein dazugehöriger Verkaufstag der 16. Börsentag.
Der so realisierte Gewinn wäre 6.7669 % vom eingesetzten Betrag gewesen.
Schreiben Sie ein Java-Programm, das für die Aktie aus einer gegebenen Zahlenfolge nachträglich
einen besten Einkaufstag, einen besten Verkaufstag und den dabei höchsten erzielbaren Gewinn
(in Prozent vom eingesetzten Betrag) ermittelt.
Das Programm soll für einen beliebig vorgegebenen Anfangskurs (größer 0) und beliebig viele
Kursdifferenzen funktionieren. Alle Kurse mit dem zugehörigen Tag sowie das Ergebnis sollen auf
dem Bildschirm ausgegeben werden.
Um den Verlauf des Aktienkurses darzustellen, verwenden Sie ein Array, das entsprechend viele Objekte der Klasse StockTick enthält, die folgendermaßen definiert ist: Die einzige private
Komponente ist der Tageskurs double kurs der Aktie.
Neben geeigneten Konstruktoren und Methoden zur Ein- und Ausgabe enthält die Klasse die folgenden zwei Methoden:
double getKurs(); //Gibt den Tageskurs zurÄuck.
void setKurs(double letztKurs, float kursDiff); //Berechnet den aktuellen Kurs aus dem Kurs des Vortages letztKurs und der Kursdifferenz kursDiff.
Verwenden Sie zunächst den Anfangskurs und die Kursänderungen des obigen Beispiels um zu
testen, ob Ihr Programm für diese Zahlen funktioniert.
Erzeugen Sie dann mit einem Zufallszahlengenerator einen Anfangskurs zwischen 600€ und 800€
sowie 20 Kursdifferenzen zwischen -30 € und +30 €. Hierbei genügt es, Integer-Zahlen zu verwenden.
--
Wollte jetzt zunächst die sich aus den Kursdifferenzwerten ergebenden tatsächlichen Kurse in ein Array speichern. Also z. B.: Der Anfangskurs ist 100, der Kurs am nächsten Tag ist -10, am dritten +30. Jetzt wollte ich praktisch in die Werte 100, 90 und 120 in ein Array speichern. Daran hänge ich, hier meine Code: (Tipps bzgl., was ich falsch mache, genügen. Will es ja auch verstehen. Gern gesehen sind auch Tipps, was ich anders machen soll oder generell, wie ich die Aufgabe angehe. DANKE!
)
Bin Wirtschaftsinformatik-Studentin und im zweiten Semester. Ich muss sagen, Programmieren ist nicht meine Stärke, eher BWl. Aber JAVA-Programmieren gehört halt dazu.
Wir haben jetzt folgende Aufgabe gestellt bekommen, an der ich hänge (Meine Ansätze schreibe ich nach der Aufgabe):
Für eine Analyse des Börsenkurses einer speziellen Aktie soll der Kursverlauf in einem bestimmten
Zeitraum untersucht werden. Dabei soll nachträglich der beste Einkaufstag festgestellt werden.
Es wird angenommen, dass in dem gesamten Zeitraum nur einmal ein Kauf und ein Verkauf
stattfindet. Der beste Einkaufstag wäre derjenige gewesen, der zu einem eingesetzten Betrag den
höchsten Gewinn erbracht hätte (Steuern etc. ausgelassen).
Der Kursverlauf der Aktie in dem betrachteten Zeitraum ist durch eine Zahlenfolge gegeben. Die
erste Zahl ist der Kurs der Aktie am ersten Börsentag und jede folgende Zahl gibt die Kursveränderung gegenüber dem Vortag an. Der Kurs, der sich für einen gewissen Tag ergibt, gilt für
alle Käufe und Verkäufe dieses Tages.
Zum Beispiel liefert die Eingabe
127.5 -0.5 2 -1 1 3.5 -13 7 -2 -6 -9 -21 -17 -5 0.5 4 -7 -12 2.5 -3 2
das Ergebnis:
Ein bester Einkaufstag wäre der 14. Börsentag gewesen,
ein dazugehöriger Verkaufstag der 16. Börsentag.
Der so realisierte Gewinn wäre 6.7669 % vom eingesetzten Betrag gewesen.
Schreiben Sie ein Java-Programm, das für die Aktie aus einer gegebenen Zahlenfolge nachträglich
einen besten Einkaufstag, einen besten Verkaufstag und den dabei höchsten erzielbaren Gewinn
(in Prozent vom eingesetzten Betrag) ermittelt.
Das Programm soll für einen beliebig vorgegebenen Anfangskurs (größer 0) und beliebig viele
Kursdifferenzen funktionieren. Alle Kurse mit dem zugehörigen Tag sowie das Ergebnis sollen auf
dem Bildschirm ausgegeben werden.
Um den Verlauf des Aktienkurses darzustellen, verwenden Sie ein Array, das entsprechend viele Objekte der Klasse StockTick enthält, die folgendermaßen definiert ist: Die einzige private
Komponente ist der Tageskurs double kurs der Aktie.
Neben geeigneten Konstruktoren und Methoden zur Ein- und Ausgabe enthält die Klasse die folgenden zwei Methoden:
double getKurs(); //Gibt den Tageskurs zurÄuck.
void setKurs(double letztKurs, float kursDiff); //Berechnet den aktuellen Kurs aus dem Kurs des Vortages letztKurs und der Kursdifferenz kursDiff.
Verwenden Sie zunächst den Anfangskurs und die Kursänderungen des obigen Beispiels um zu
testen, ob Ihr Programm für diese Zahlen funktioniert.
Erzeugen Sie dann mit einem Zufallszahlengenerator einen Anfangskurs zwischen 600€ und 800€
sowie 20 Kursdifferenzen zwischen -30 € und +30 €. Hierbei genügt es, Integer-Zahlen zu verwenden.
--
Wollte jetzt zunächst die sich aus den Kursdifferenzwerten ergebenden tatsächlichen Kurse in ein Array speichern. Also z. B.: Der Anfangskurs ist 100, der Kurs am nächsten Tag ist -10, am dritten +30. Jetzt wollte ich praktisch in die Werte 100, 90 und 120 in ein Array speichern. Daran hänge ich, hier meine Code: (Tipps bzgl., was ich falsch mache, genügen. Will es ja auch verstehen. Gern gesehen sind auch Tipps, was ich anders machen soll oder generell, wie ich die Aufgabe angehe. DANKE!
Java:
package exerciseTwo;
public class StockAnalysis {
public static void main(String[] boss) {
double stockInstantiate[] = {127.5, -0.5, 2, -1, 1, 3.5, -13, 7, -2, -6,
-9, -21, -17, -5, 0.5, 4, -7, -12, 2.5, -2, 2};
double dayRate[] = null;
double firstStockRate = stockInstantiate[0];
for (int counter = 0; counter < stockInstantiate.length; counter++) {
dayRate[counter] = firstStockRate + stockInstantiate[counter+1];
}
for (int printOut = 0; printOut < dayRate.length; printOut++) {
System.out.println(dayRate[printOut]);
}
}
}