Anzahl der 5 % - Zuwächse ausgeben

BeginnerJava

Mitglied
Für eine gegebene Liste von Jahresumsätzen, zum Beispiel {1000, 2000, 9000, 9500}, soll eine Methode geschrieben werden, die angibt, wie viele Sprünge um 5 % Gewinn es gibt. Für das Beispiel müsste das Programm also 3 ausgeben. Irgendwie macht das, was ich geschrieben habe wohl nicht genau das, was es soll, denn für dieses Beispiel ist die Ausgabe 2.
Ich weiß nicht genau, woran es liegt. Ich muss dazu sagen, dass ich wenig bis gar keine Programmiererfahrung habe.

Java:
public class PercentJumps {

    public static void main(String[] args) {
        System.out.println(count5PercentJumps( new int[]{1000,2000,9000,9500} ));
    }

  
    public static int count5PercentJumps(int[] umsaetze)
    {
        int jumps = 0;
        for (int i=0; i<umsaetze.length-1; i++)
        {
         double change = ( (umsaetze[i+1] - umsaetze[i]) / umsaetze[i] ) * 100;
         if ( change >= 5.0)
             jumps = jumps + 1;
       
        }
        return jumps;
    }
  
}

Dies gibt mir 2 aus, sollte aber 3 ausgeben, da es drei Zuwächse um mindestens 5 % gibt.
 
Zuletzt bearbeitet:

LimDul

Top Contributor
Das Problem, die ganze Rechnung besteht aus integer Zahlen - damit sind es Integer Division. Entweder die vor der Divsion zu double casten oder - was meines erachtens sinnvoller ist - erst mit 100 multiplizieren vor der Division. Dann kannst du als Ergebnis auch einen int verwenden.
 

KonradN

Super-Moderator
Mitarbeiter
Das Problem ist bei Dir, dass Du mit Integer Zahlen rechnest. Dadurch hast du erst:
9500 - 9000 = 500 und diese 500 / 9000 = 0.

Damit das alles nicht als Integer sondern mit Fließkomma berechnet wird, musst Du bei der Berechnung eine Zahl in eine Fließkommazahl umwandeln.
 

Jw456

Top Contributor
Code:
double change = ( (umsaetze[i+1] - umsaetze[i]) / (double) umsaetze[i] ) * 100;
 

Robert Zenz

Top Contributor
Nur als Nachsatz, wenn du mit Geld in Java arbeitest, solltest du immer BigDecimal verwenden. Bei float und double kommt es zu Rundungsfehlern bei fast allen Rechenoperationen, und wenn man komplexere und laengere Rechnungen hat, zum Beispiel in der Buchhaltung, koennen diese sich schnell nicht nur zu einzelnen Cent-Betraegen aufschaukeln. Das extremste das ich mal gesehen habe war in einer PHP Loesung, zwischen der PHP Loesung und dem Taschenrechner kamen mehrere Euro Unterschied je Rechnung heraus welche schlicht und ergreifend auf die Rundungsfehler der Gleitkommazahlen zurueck zu fuehren waren.

Ich habe da noch ein Uebungsbeispiel zu dem Thema, aber leider noch kein langes Tutorial...muss ich noch machen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Wie übergebe ich den Zähler für die Anzahl Rekursionsschritte korrekt? Allgemeine Java-Themen 2
S BlockingQueue mit dynamischer Anpassung der Anzahl von Producer und Consumer Threads Allgemeine Java-Themen 1
S Iterable<?> anzahl der Element Allgemeine Java-Themen 14
M Java- Bild gewissen Anzahl von Sekunden anzeigen?! Allgemeine Java-Themen 4
F Best Practice Große Anzahl an Objekten speichern und lesen Allgemeine Java-Themen 19
M Relative Anzahl an verschachtelten Forschleifen Allgemeine Java-Themen 8
The Pi Anzahl der Gewichtscheiben berechnen Allgemeine Java-Themen 11
P Threads Parallelisierte DB-Abfragen mit variabler Anzahl an Threads Allgemeine Java-Themen 4
Soloeco BubbleSort Anzahl der Vertauschungen Allgemeine Java-Themen 9
J Anzahl geöffneter Plugins Allgemeine Java-Themen 3
A Anzahl an Threads Systemweit Allgemeine Java-Themen 2
J Anzahl von Möglichkeiten zur Verteilung von Kugeln in Behälter Allgemeine Java-Themen 3
P Erste Schritte Dynamische Anzahl von verschachtelten Schleifen Allgemeine Java-Themen 5
E ArrayList Anzahl der gleichen Elemente Allgemeine Java-Themen 4
R Int werte vergleichen und Anzahl Paare ausgeben Allgemeine Java-Themen 4
L Ermitteln der Anzahl an Lösungen von quatratischen Gleichungen (Sieb von Atkin) Allgemeine Java-Themen 1
L Anzahl der Tage eines Monats Allgemeine Java-Themen 3
P Auf die Anzahl der Joins achten beim WS design Allgemeine Java-Themen 1
J Anzahl der Zeichen bei Eingabe begrenzen Allgemeine Java-Themen 5
S Zur Laufzeit Klasse mit einer anzahl von X Objekten erstellen Allgemeine Java-Themen 5
M Eingabe von Arrays geht über gewünschte Anzahl hinaus Allgemeine Java-Themen 2
G Liste anzahl der gleichen Objekte Allgemeine Java-Themen 6
P Anzahl vo Einträgen in verschiedenen Sets Allgemeine Java-Themen 3
R Anzahl der gerade gedrückten Tasten Allgemeine Java-Themen 6
J ermitteln der Anzahl der Monate Allgemeine Java-Themen 7
M Anzahl der Durchläufe einer Funktion errechnen Allgemeine Java-Themen 6
G Anzahl Primzahlen im Intervall Allgemeine Java-Themen 3
X Textdatei auf gewünschte Anzahl der Zeilen kürzen Allgemeine Java-Themen 2
M Anzahl Farbwerte (RGB) im Array speichern - Problem Allgemeine Java-Themen 13
N variable Anzahl von Objektinstanzen zur Laufzeit erstellen Allgemeine Java-Themen 4
D unbekannte Anzahl checkboxes Allgemeine Java-Themen 2
TiME-SPLiNTER Unbekannte Anzahl serialisierter Objekte lesen Allgemeine Java-Themen 2
Iron Monkey Anzahl der Monate ermitteln Allgemeine Java-Themen 17
neonfly Anzahl Zeichen pro Zeile auf der Konsole Allgemeine Java-Themen 8
R ArrayList -- Maximale Anzahl an Elementen Allgemeine Java-Themen 2
O Große Anzahl Bilder laden Allgemeine Java-Themen 7
S Array: Anzahl Elemente mit best. Wert zählen Allgemeine Java-Themen 4
V Java-Objekt. wie groß maximal ? anzahl der einträge Allgemeine Java-Themen 4
M Aus Anzahl Tagen Datum ermitteln Allgemeine Java-Themen 8
M JTable: Anzahl Zeichen bei Eingabe Allgemeine Java-Themen 2
T Anzahl Tage zwischen zwei Daten - Stunde fehlt? Allgemeine Java-Themen 2
S Anzahl der Stunden in Excel Datei schreiben Allgemeine Java-Themen 2
G Anzahl an Tagen auf Datum addieren Allgemeine Java-Themen 4
MQue Anzahl der Ziffern Allgemeine Java-Themen 13
G Anzahl Tage in Datum umwandeln Allgemeine Java-Themen 13
MQue Anzahl der Kommastellen Allgemeine Java-Themen 6
L Anzahl Tage zwischen zwei Kalenderdaten Allgemeine Java-Themen 5
F Anzahl der nachkommastellen bestimmen nur wie? Allgemeine Java-Themen 10
M Aktualisieren eines Chatprofils (Anzahl Minuten) Allgemeine Java-Themen 4
G Variable Anzahl JTextfleder Allgemeine Java-Themen 3
S Bandbreite/Anzahl Pakete messen Allgemeine Java-Themen 3
V String formatiert ausgeben ( gleiche Anzahl von Ziffern ) Allgemeine Java-Themen 5
padde479 Anzahl Methodenaufrufe Allgemeine Java-Themen 7
J Matrix mit unterschiedlicher Anzahl von Spalten pro Zeile? Allgemeine Java-Themen 4
F Datum mit anzahl tagen berechnen Allgemeine Java-Themen 3
W PrepareStatement und Anzahl der Datensätze Allgemeine Java-Themen 2
rambozola anzahl zeichen in konsole eclipse begrenzt? Allgemeine Java-Themen 5
G anzahl "verwendeter" elemente eines arrays ermitte Allgemeine Java-Themen 2
M Anzahl der Threads pro Programm? Allgemeine Java-Themen 3
R java.lang.String maximale Anzahl der Zeichen Allgemeine Java-Themen 7
V Anzahl der Zeilen in einem File Allgemeine Java-Themen 3
K anzahl laufender Threads Allgemeine Java-Themen 3
kodela StatusBar-Anzeigen auch in Log-Datei ausgeben Allgemeine Java-Themen 3
M Quicksort Rang ausgeben Allgemeine Java-Themen 2
A Einzelne Objekte und Unterobjekte einer ArrayList ausgeben Allgemeine Java-Themen 53
_user_q Eingegebenen Text Zeile für Zeile ausgeben lassen Allgemeine Java-Themen 11
I Wie kann ich den Wert aus einer If abfrage ausgeben Allgemeine Java-Themen 23
Alex_99 Programm stürzt beim Aufruf der Funktion ab? Text ausgeben Allgemeine Java-Themen 45
R0m1lly BinärBaum auf Konsole ausgeben Allgemeine Java-Themen 9
R Sonderzeichen aus Datei einlesen und in Datei ausgeben. Allgemeine Java-Themen 17
el_niiinho13 Objekt auf der Konsole ausgeben lassen Allgemeine Java-Themen 8
H Collections Aktuellen Index generell und nach Sortierung ausgeben Allgemeine Java-Themen 6
S Wörterliste nach Wörtern mit u durchsuchen und diese auf der Konsole ausgeben lassen Allgemeine Java-Themen 33
B OOP HashSet sortiert ausgeben Allgemeine Java-Themen 11
N Eine stelle der Fibonacci-Zahlenfolge ausgeben. Allgemeine Java-Themen 4
M Bei String.format ein Komma statt einem Punkt ausgeben lassen Allgemeine Java-Themen 1
G Excel Datum richtig auf der Konsole ausgeben Allgemeine Java-Themen 1
D Erste Schritte Arrays vergleichen und die zahlen die nur einmal vorkommen ausgeben Allgemeine Java-Themen 5
M Töne mit Java ausgeben Allgemeine Java-Themen 1
VfL_Freak Double mit zwei festen NK-Stellen ausgeben Allgemeine Java-Themen 9
ralfb1105 Java LogManager property bestimmen/ausgeben Allgemeine Java-Themen 1
R .txt Datei einlesen und auf der Konsole ausgeben lassen Allgemeine Java-Themen 11
B Schlossknacker (Jede mögliche Zahlenkombination ausgeben) Allgemeine Java-Themen 18
heinz ketchup String im JLabel ausgeben und erneuern Allgemeine Java-Themen 6
L Input/Output Wie kann man in der Konsole einen Text farbig ausgeben z.b in grün Allgemeine Java-Themen 6
L CSV File lesen, in ArrayList speichern und ausgeben Allgemeine Java-Themen 3
G Array ohne Aufzählungszeichen ausgeben Allgemeine Java-Themen 6
J Wie kann ich ein Java Array als Säulendiagramm ausgeben? Allgemeine Java-Themen 2
G Iteratoren - Wie kann man mithilfe von Iteratoren nur jeden zweiten Wert eines TreeSets ausgeben? Allgemeine Java-Themen 4
B Java Sternchen ausgeben mittels Rekursion Allgemeine Java-Themen 3
GreenTeaYT Elemente eines 2Dim LinkedList von links nach rechts ausgeben? Allgemeine Java-Themen 0
J Ausgabe von Links nach Rechts ausgeben? Allgemeine Java-Themen 2
D Returnwert aus einer Methode gerundet ausgeben lassen Allgemeine Java-Themen 2
B Fortschritt beim Schreiben einer Datei ausgeben lassen Allgemeine Java-Themen 7
FunnyO KeyEvent.VK_ + int i, ausgeben mit Bot möglich? Allgemeine Java-Themen 2
L Java-Programm Zahlenkombinationen ausgeben Allgemeine Java-Themen 10
stylegangsta Mehrere html seiten einer Homepage einlesen und als Textdatei ausgeben Allgemeine Java-Themen 14
F Namen des Interfaces ausgeben Allgemeine Java-Themen 1
S 2-spaltige Ausgabe als Tabelle ausgeben Allgemeine Java-Themen 12
M liste von listen anders ausgeben Allgemeine Java-Themen 1

Ähnliche Java Themen

Neue Themen


Oben