Java Array Hilfe?

2 Antworten

Ich soll die Tage ermitteln, an denen es die größten Kursschwankungen eines Aktienkurses gab.

Nein, sollst du nicht.

Denn in A) steht

Schreiben Sie ein neues Programmteil, welches die beiden aufeinanderfolgenden Tage angeben kann, an denen es die größten Kursschwankungen gab.

So wie du die Aufgabe verstanden hast wäre sie ohne das Wort "aufeinanderfolgend".

Wenn nun an Tag 5 die größte Kursschwankung war und an Tag 2 die zweitgrößte, dann wäre 2, 5 jedoch nicht die Lösung, denn diese Tage sind nicht aufeinanderfolgend.

Mit diesem Wort bedeutet die Aufgabe, dass du die zwei aufeinanderfolgenden Tage finden sollst, bei denen es in Summe die größten Schwankungen gab.

Ansonsten müsstest du einfach nur das Array sortieren und dann die ersten zwei Werte nehmen, wäre doch ein bisschen zu einfach.

Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf

Du berechnest einfach alle Kursschwankungen und suchst die größte.

z.B. so in Python syntax:

kurse = [10,11,10,13,14,9]

schwankungenListe = []
for i in range(0,len(kurse)):
    if i<(len(kurse)-1):
        schwankung = abs(kurse[i]-kurse[i+1])
        schwankungenListe += [[schwankung,i]]
if schwankungenListe:
    #Wenn die Liste nicht leer ist
    schwankungenListe.sort(key=lambda x:x[0], reverse=True)
    for i in schwankungenListe:
            print(f'Schwankung={i[0]} zwischen Tagen {i[1]} und {i[1]+1}')
else:
    #Liste ist leer
    print('Eingabe falsch :/')
Woher ich das weiß:Studium / Ausbildung – Informatikstudent
MrAmazing2  20.12.2021, 10:01

Aber in der Aufgabenstellung steht "an denen es die größten Kursschwankungen gab".

Bei deiner Lösung wäre die Aufgabenstellung jedoch "an denen es die größte Kursschwankung gab"

Or not?

0
whgoffline  20.12.2021, 10:18
@MrAmazing2

Oh, stimmt. Dann einfach das if schwankung>maxSchwankung streichen und eine Liste mitführen.

0