Hallo zusammen,
bin wieder mal am Leiden von der Aufgabestellung unseren Profs.
Hierzu soll ich Programm mit Berechnung der Aktienkursen erstellen, Minimum, Maximum und mittlerer Wert, aber auch möglicher höchster Gewinn sind gefragt. Bin, leider etwas im erzug und vor lauter Panik hab Schwierigkeiten dies fertig zu stellen. Es scheitert an der Berechnung mit Math.min und max. Bin nicht sicher, ob es wirklich richtige Entscheidung war. Habe noch nichts mit Sortierverfahren programmiert. Bitte um Hilfestellung dabei. Gerade letzter Abschnitt, da ist bei mir nur Bedinung definiert, aber nicht sortieren. Verliere langsam den Überblick.
public class Aktienchart {
/** Name der Aktie */
private String bezeichnung;
/** gespeicherte Tageskurse für aufeinanderfolgende Tage */
private double[] kurswerte;
/** Anzahl der bisher eingetragenen Werte */
private int anzahlTage = 0;
/**
* Konstruktor, der die Bezeichnung der Aktie festlegt und bestimmt, für wie
* viele Tage maximal Werte gespeichert werden können
*/
public Aktienchart(String bezeichnung, int maxTage) {
}
/** trägt den nächste Tageskurs für die Aktie ein */
public void tageskursEintragen(double tageskurs) {
if (anzahlTage < kurswerte.length) {
kurswerte[anzahlTage] = tageskurs;
anzahlTage++;
} else {
System.out.println("### Fehler: kein weiterer Wert speicherbar! ###");
}
}
private final static int MAX_BREITE = 40;
/** gibt die gespeicherten Werte aus */
public void ausgeben() {
System.out.println();
System.out.println("Kursverlauf für " + bezeichnung);
for (int tag = 0; tag < anzahlTage; tag++) {
double tageswert = kurswerte[tag];
System.out.print((tag + 1) + ". Tag: " + tageswert + "\t|");
for (int pos = 0; pos < MAX_BREITE * tageswert / hoechstkurs(); pos++) {
System.out.print('*');
}
System.out.println();
}
}
/** bestimmt den Höchstkurs der gespeicherten Kurswerte */
double hoechstkurs() {
double max =0;
max = Math.max (anzahlTage, kurswerte);
System.out.println("Maximum wert ist: " + max);
return max;
}
/** bestimmt den Tiefstkurs der gespeicherten Kurswerte */
double tiefstkurs() {
double min =0;
min = Math.min (anzahlTage, kurswerte);
System.out.println("Minimum Wert ist: " + min);
return min;
}
/** bestimmt das arithmetische Mittel der gespeicherten Werte */
double mittlererKurs() {
double mittel=0;
mittel= max-min;
System.out.println("Mittelwert ist: " + mittel);
return mittel;
}
/**
* bestimmt den maximalen Gewinn, der im Zeitraum des gespeicherten Kursverlaufs
* hätte erzielt werden können
*/
double maxGewinn() {
for (int kauftag = 0, kauftag < kurswerte.length, kauftag++){
for (int verkaufstag = 0, verkaufstag < kurswerte.length, verkaufstag++){
)
}
}
return 0;
}
}
bin wieder mal am Leiden von der Aufgabestellung unseren Profs.
Hierzu soll ich Programm mit Berechnung der Aktienkursen erstellen, Minimum, Maximum und mittlerer Wert, aber auch möglicher höchster Gewinn sind gefragt. Bin, leider etwas im erzug und vor lauter Panik hab Schwierigkeiten dies fertig zu stellen. Es scheitert an der Berechnung mit Math.min und max. Bin nicht sicher, ob es wirklich richtige Entscheidung war. Habe noch nichts mit Sortierverfahren programmiert. Bitte um Hilfestellung dabei. Gerade letzter Abschnitt, da ist bei mir nur Bedinung definiert, aber nicht sortieren. Verliere langsam den Überblick.
public class Aktienchart {
/** Name der Aktie */
private String bezeichnung;
/** gespeicherte Tageskurse für aufeinanderfolgende Tage */
private double[] kurswerte;
/** Anzahl der bisher eingetragenen Werte */
private int anzahlTage = 0;
/**
* Konstruktor, der die Bezeichnung der Aktie festlegt und bestimmt, für wie
* viele Tage maximal Werte gespeichert werden können
*/
public Aktienchart(String bezeichnung, int maxTage) {
}
/** trägt den nächste Tageskurs für die Aktie ein */
public void tageskursEintragen(double tageskurs) {
if (anzahlTage < kurswerte.length) {
kurswerte[anzahlTage] = tageskurs;
anzahlTage++;
} else {
System.out.println("### Fehler: kein weiterer Wert speicherbar! ###");
}
}
private final static int MAX_BREITE = 40;
/** gibt die gespeicherten Werte aus */
public void ausgeben() {
System.out.println();
System.out.println("Kursverlauf für " + bezeichnung);
for (int tag = 0; tag < anzahlTage; tag++) {
double tageswert = kurswerte[tag];
System.out.print((tag + 1) + ". Tag: " + tageswert + "\t|");
for (int pos = 0; pos < MAX_BREITE * tageswert / hoechstkurs(); pos++) {
System.out.print('*');
}
System.out.println();
}
}
/** bestimmt den Höchstkurs der gespeicherten Kurswerte */
double hoechstkurs() {
double max =0;
max = Math.max (anzahlTage, kurswerte);
System.out.println("Maximum wert ist: " + max);
return max;
}
/** bestimmt den Tiefstkurs der gespeicherten Kurswerte */
double tiefstkurs() {
double min =0;
min = Math.min (anzahlTage, kurswerte);
System.out.println("Minimum Wert ist: " + min);
return min;
}
/** bestimmt das arithmetische Mittel der gespeicherten Werte */
double mittlererKurs() {
double mittel=0;
mittel= max-min;
System.out.println("Mittelwert ist: " + mittel);
return mittel;
}
/**
* bestimmt den maximalen Gewinn, der im Zeitraum des gespeicherten Kursverlaufs
* hätte erzielt werden können
*/
double maxGewinn() {
for (int kauftag = 0, kauftag < kurswerte.length, kauftag++){
for (int verkaufstag = 0, verkaufstag < kurswerte.length, verkaufstag++){
)
}
}
return 0;
}
}