Programm Histogram

anana

Neues Mitglied
Schreiben Sie ein Programm Histogram, das als Argumente von der Konsole drei positive(inklusive 0) Integer Werte min ,max und n übergeben bekommt. Der Bereich zwischen min und max soll dann inngleich große Bereiche aufgeteilt werden.Anschließend soll Ihr Programm eine beliebige Anzahl positiver, ganzer Zahlen von derStandardeingabe einlesen und bestimmen, wie viele Zahlen jeweils in die Bereiche fallen.Hierbei gilt folgendes zu beachten:
•Werden weniger als drei Argumente übergeben, oder ist max - min nicht restlos durch n teilbar, oder min größer als max, soll eine Fehlermeldung ausgegeben werden, die ERROR enthält.
•Wird eine negative Zahl von der Standardeingabe eingelesen werden, oder ist die eingelesene Zahl kleine als min bzw. größer als max, soll ebenfalls eine Fehlermeldung ausgegeben werden, die ERROR enthält.
•Ein Bereich schließt seine untere Grenze mit ein, jedoch nicht seine obere.
•Der letzte Bereich schließt sowohl seine untere, als auch seine obere Grenze mit ein.Ihr Programm soll in einer Zeile ausgeben, wie viele Zahlen in welchen Bereich gefallen sind.
Beispiel :> cat input.txt
1 1 2 1 3 6 3 8 7 10 2 5 2 1>
java Histogram 0 12 4 < input.txt
7 3 3 1
In diesem Beispiel werden die Zahlen in die Bereiche [0; 3), [3; 6), [6; 9) und [9; 12] eingeteilt.Sieben Zahlen fallen in den ersten Bereich, jeweils drei in den zweiten und dritten und ein in den vierten.


Die alle ERROR Teile habe ich leicht beenden ,jetzt habe ich ein Problem mit diesem letzten Teil.Kann jemand mir helfen?
Ich danke ihnen im Voraus!
 
Wie sieht denn dein Code bisher aus?

Du hast ja n Bereiche, dafür brauchst du eine Datenstruktur (Array oder Liste) um für jeden Bereich zu speichern, wie viele Zahlen da reinfallen. Dann gehst du die gesamte Liste der Zahlen durch und suchst für jede Zahl den passenden Bereich und zählst den Wert da um 1 hoch. Am Ende gibst du die Daten aus.
 
Vielen Dank für deinen Hinweis ,leide weiss ich noch nicht wie ich Array verwenden soll und hier ist mein Code.Ich glaube mein Fehler ist in der letzten while-Schleife. 截屏2020-12-12 21.30.17.png
 

Zurück
Oben