Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Heyho...
ich hoffe ihr könnt mir helfen, da ich so langsam an dieser Aufgabe verzweifel!!!
Also die Aufgabe lautet in etwa so:
Es sind in einer datei ("zahlen.txt") 100 zufällige Zahlen vom Typ double gespeichert. Diese sollen eingelesen und ausgegeben werden.(Man soll die Zahlen vor der Ausgabe nicht kennen) Ebenfalls sollen von den Zahlen das maximum und minimum bestimmt werden.
I
ch habe versucht die Aufgabe mit dem FileInputStream zu lösen. (Habe mir eine Beispiel Datei gemacht) Und ich habe es auch geschafft, die Zahlen auszugeben. Leider waren diese nur als Integer angegeben. Und selbst bei denen, weiss ich nicht, wie ich den maximum, minimum bestimmen soll.Muss ich die Zahlen dann erst in einem Array abspeichern oder kann ich direkt auf die Zahlen zugreifen?!
Ich hoffe ihr könnt mir helfen! am liebsten mit einem Quellcode(Java)
Vielen Dank schonmal im Vorraus!!!
Da die Datei eine Textdatei ist, vermute ich mal, dass die Zahlen auch als Text vorliegen.
Womit sind die Zahlen voneinander getrennt?
Wenn z.B. in jeder Zeile eine Zahl steht, kannst du sie zeilenweise mit einem BufferedReader einlesen. Danach musst du den String zu einem double parsen. Integer, Float, Double usw. bieten Funktionen um Strings umzuwandeln. Im Falle von doubles lautet sie Double.parseDouble(String s).
Was du jetzt gemacht hast, ist übrigens die Textdatei byteweise zu lesen. Die ints entsprechen dabei aber nicht den doubles die du lesen sollst.
Zu Mininum und Maximum: du liest ja bereits jeden double einmal um ihn auszugeben. Merk dir einfach das aktuelle Minimum und Maximum und vergleiche jede neugelesene Zahl mit ihnen.
Die Zahlen sind untereinander geschrieben! Also:
3.15
8.49
7.777
So in etwa. Allerdings sollen wir diese Aufgabe mit dem FileInputStream lösen. Mit dem BufferedReader kann man also grundsätzlich nur Strings einlesen und muss diese dann in den gewünschte Typ parsen?!
Aber wenn ich die Zahlen zeilenweise einlese, wo soll ich diese dann speichern?! Das heisst, ich müsste entweder 100 Variablen deklarieren oder die in einen Array speichern oder?!
Ich glaube ich bin zu blöd dafür!!! Könnte mir jemand mit einem Quelltext helfen?! Also ich habe die Zahlen jetzt mit dem BufferedReader eingelesen und das hat auch soweit geklappt! (auch wenn das nicht in der Aufgabe gewollt war, sonder mit dem FileInputStream)
Aber das mit dem minimum und maximum ist weiterhin ein Buch mit sieben Siegeln!!!
Wie AmunRa bereits sagte, erstellst du dir 2 Variablen min und max und speicherst die erste eingelesene Zahl in beiden.
Dann vergleichst du die weiteren Zahlen die du einliest mit ihnen. Wenn ein Wert kleiner ist als min, dann ist das von da an dein min, für max genauso mit größer.
Ist im Grunde genauso wie du das Minimum von einer Menge von Zahlen bestimmen würdest. Du guckst dir einfach alle Zahlen an und merkst dir beim Ansehen welche Zahl bisher die kleinste ist.