Eingabe von Zahlen und anschliessend höchste Zahl ausgegeben

Status
Nicht offen für weitere Antworten.
K

kalakiu

Gast
Hallo,

ich versuche gerade ein kleines programm zu schreiben, dass mir aus mehreren zahlen die ich selbst eingebe die höchste am ende ausgibt.
habe auch schon gegoogelt... aber ich komm irgendwie nicht drauf :(
http://www.zum.de/wiki/index.php/Arrays_(Java) << habe es anhand des beispiels versucht aber geht nicht :(
hab nen tipp bekommen ich solle es irgendwie mit bufferedreader anstellen, aber wie gesagt bin ziemlicher anfänger.

kann man am anfang auch eigentlich bestimmen wieviele zeahlen man angeben darf?

gruß und vielleicht hat einer nen Tipp bzw beispielseiten...
 
K

kalakiu

Gast
Code:
public class Test {

public static void main(String[] args) {
System.out.print("Bitte Eingabe machen: ");
try {
BufferedReader reader = new BufferedReader; (
new InputStreamReader (System.in))
String s = reader.readLine();
System.out.println("Ihre Eingabe war: " + a);
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
}
so,
weiss aber jetzt nicht ganz wie ich nun das was ich oben gecshrieben hab realisieren kann :(
 

hupfdule

Top Contributor
Formatiere deinen Code mal etwas besser. Pro Block eine Einrückung von i.d.R 4 Zeichen. So kann das ja keiner lesen.

Also im Grunde hast du gar nichts. :)

Wo ist denn dein Verständnisproblem? Das Einlesen der Zahlen müsste ja schon funktionieren. Diese liegen dir als String vor. Du müsstest sie also noch in einen int wandeln. Stichwort: Integer.parseInt(String)

Diese int-Werte speicherst du in einem array ab und suchst anschließend den größten davon raus.

Das Einlesen der Zahlen müsstest du natürlich noch etwas erweitern. So kannnur eine Zahl eingegeben werden. Du müsstest das in einer Schleife machen. Entweder liest du so lange Zahlen ein, bis der Benutzer keine mehr eingegeben hat (mit einer while-Schleife) oder du liest eine bestimmte Anzahl an Zahlen ein (mit einer for-Schleife).
 

Jango

Gesperrter Benutzer
Zuerst:

Wenn du Zahlen speichern willst, dann benutze int.
Du versuchst eine Variable auszugeben, die überhaupt nicht deklariert ist "a".

Zum Auslesen der größten Zahl nimm eine for Schleife und eine if Anweisung.
 

L-ectron-X

Gesperrter Benutzer
Soll denn immer die gleiche Anzahl von Zahlen eingegeben werden, oder variiert diese Anzahl bei jeder Programmbenutzung?
 
K

kalakiu

Gast
hmm soll eigentlich variieren :)

irgendwie versuche ich das aber es klappt nicht :( vllt. auch weil ich nicht genau weiss was zu tun ist, bzw. wie ich das in java umsetzen kann
 

L-ectron-X

Gesperrter Benutzer
Nun ja...
Um irgendwelche Dinge zur weiteren Verarbeitung zu sammeln benutzt man meistens Listen. Zum Beispiel Arrays. Der Nachteil von Arrays ist aber, dass man vorher wissen muss, wieviele Dinge man drin speichern will.
Ganz anders da dynamische Listen, deren Größe sich automatisch anpasst, je nach dem wieviele Dinge gerade drin gespeichert sind.
Typische Vertreter von Klassen dynamischer Listen sind java.util.ArrayList oder java.util.Vector.
Beide Listen können Dinge (Objekte) verschiedenen Typs speichern. Der einzige Unterschied zwischen den beiden ist, dass die Klasse Vector synchronisiert ist, das heißt, für den Zugriff von mehreren Threads auf die gespeicherten Daten vorbereitet ist.
Im Gegensatz zu Arrays bieten die Klassen des Collection Frameworks, zu dem auch die beiden o.g. Klassen gehören, leistungsfähige Methoden zur komfortablen Arbeit mit Objekten.

Um bei jedem Programmablauf eine unterschiedliche Anzahl von Zahlen zu speichern, setzt du also eine listenähnliche Klasse ein. Wenn du den obigen Links folgst, kannst dir die bereitgestellten Methoden ansehen.

z.B.
Code:
String zahl = "120"; //eine eingegebene Zahl (Simulation)
ArrayList list = new ArrayList(); //dynamische Liste erzeugen
list.add(Double.valueOf(zahl)); //den zu einem Kommazahl-Objekt umgewandelten String in der Liste ablegen
Dieses Prinzip wird so lange verfolgt, bis ausreichend Zahlen eingegeben wurden.

um nun die größte Zahl zu erhalten kann man die Liste sortieren lassen:
Code:
Collections.sort(list); //sortiert die Objekte

Die größte Zahl kann man nun mit...
Code:
Double d = (Double)list.get(list.size()-1); // gibt letztes (größtes) Objekt in der sortierten Liste zurück
System.out.println(d.toString());
...ausgeben.

Die Funktionen der hier benutzen Methoden kannst du in der API-Doc der Klassen java.util.Collections, java.util.ArrayList und java.lang.Double nachlesen.
 
K

kalakiu

Gast
Hallo und danke für die vorschläge und tipps erstmal :toll:
könnte man die Werte auch mit Integer.MIN_VALUE und Integer.MAX_VALUE überprüfen und dann den höchsten ausgeben? habe dazu auch etwas gelesen, dass es möglich sei.

gruß
 

hupfdule

Top Contributor
Anonymous hat gesagt.:
könnte man die Werte auch mit Integer.MIN_VALUE und Integer.MAX_VALUE überprüfen

Nein, diese Werte geben nur an, was der größte und der kleinste Integer-Wert ist, der von Java im Datentyp int dargestellt werden kann.

Aber über die Methode Math.max(..), bzw. Math.min(..) kannst du das erreichen. Das Vergleicht allerdings immer nur zwei Werte miteinander. Von daher wird dir das wohl eher wenig bringen.
 
G

Guest

Gast
hmm :(
Bei mehr als 2 Zahlen also wie oben becshrieben erst sortieren und dann den höchsten wert anzeigen lassen. Ja?
 

hupfdule

Top Contributor
Du musst es nicht zwangsläufig sortieren. Das ist dir überlassen.
Du kannst auch einfach in einer for-Schleife das Array (oder die ArrayList) durchlaufen und die Werte vergleichen.

Bsp:

Code:
int maxValue= list.get(0);

for (int i=1; i<list.size(); i++){
    maxValue= Math.max(maxValue, list.get(i));
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Regex nur Zahlen und Punkt zulassen, Keine Eingabe(Leeres TextFeld) nicht zulassen Java Basics - Anfänger-Themen 6
M Erste Schritte primzahlen ermitteln, nur zahlen als eingabe erlauben Java Basics - Anfänger-Themen 34
D Anzahl von Zahlen bei eingabe begrenzen Java Basics - Anfänger-Themen 37
H Zufällig generierte Zahlen auf Eingabe prüfen Java Basics - Anfänger-Themen 5
R Einzelne Zahlen von der Eingabe (Scan) weiterverarbeiten Java Basics - Anfänger-Themen 3
H Die Eingabe von beliebig vielen Zahlen in ein Array - ich kann es nicht Java Basics - Anfänger-Themen 6
T keine buchstaben!nur zahlen eingabe möglich Java Basics - Anfänger-Themen 48
F Eingabe von Ganzen Zahlen oder Strings mit BufferedReader Java Basics - Anfänger-Themen 10
G Eingabe im jTextField auf Zahlen beschränken Java Basics - Anfänger-Themen 2
G JTextField nur Eingabe von Zahlen erlauben Java Basics - Anfänger-Themen 4
V Eingabe von Zahlen festlegen Java Basics - Anfänger-Themen 2
B Nur Zahlen bei Eingabe zulassen? Java Basics - Anfänger-Themen 23
D Eingabe auf Zahlen beschränken Java Basics - Anfänger-Themen 12
Torschti Eingabe von Dezimalzahlen (bis zu zwei Kommastellen) Java Basics - Anfänger-Themen 11
T User input in Verbindung mit ChronoUnit anpassen und falls falsche Eingabe getätigtwird Java Basics - Anfänger-Themen 7
T Eingabe durch eine Zahl dividieren nachgucken? Java Basics - Anfänger-Themen 4
T sortierung der eingabe nach größe Java Basics - Anfänger-Themen 5
Ostkreuz Int Scanner auf Enter Eingabe prüfen Java Basics - Anfänger-Themen 4
G Programm läuft durch, ohne Eingabe aus dem Chat abzuwarten Java Basics - Anfänger-Themen 4
Jul1n4tor Scanner error bei Eingabe die kein Integer ist Java Basics - Anfänger-Themen 4
S Größte Zahl nach Eingabe der Zahl 0 ausgeben Java Basics - Anfänger-Themen 6
M Dialogbox sofort neustarten, falls aktuelle Eingabe falsch Java Basics - Anfänger-Themen 11
M Dialogbox solange abfragen, bis gültige Wert-Eingabe Java Basics - Anfänger-Themen 12
S OOP Java Eingabe in verschiedene Datenbank Tabellen eintragen Java Basics - Anfänger-Themen 7
A Bei VierGewinnt Eingabe per Buchstabe (a,b,c...) Java Basics - Anfänger-Themen 2
java-starter Erste Schritte Eingabe in Char wert umwandeln Java Basics - Anfänger-Themen 7
Lion.King Subtraktion nach Eingabe im Terminal Java Basics - Anfänger-Themen 7
X Erste Schritte Scanner eingabe wird übersprungen Java Basics - Anfänger-Themen 4
L Dauerhaftes Speichern einer Eingabe bei einer ArrayList Java Basics - Anfänger-Themen 26
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
J Mein Programm läuft bei der ersten Eingabe nicht mehr weiter, woran liegt das? Java Basics - Anfänger-Themen 6
M Eingabe limit Java Basics - Anfänger-Themen 8
brypa Programm mit Eingabe Java Basics - Anfänger-Themen 129
C Potenzberechnung über switch case. Taschenrechner mit Eingabe über einen grafischen Dialog Java Basics - Anfänger-Themen 22
D falsche eingabe erkennen Java Basics - Anfänger-Themen 2
H Eingabe tätigen bevor Graphics g Fenster öffnet Java Basics - Anfänger-Themen 5
H For-Schleife bis Index von Eingabe laufen lassen Java Basics - Anfänger-Themen 24
Hamudi Bachir 2D Array eingabe vom Benutzer Java Basics - Anfänger-Themen 31
S Warum erscheint bei mir "Hallo Welt" und nicht die aktuelle Eingabe? Java Basics - Anfänger-Themen 16
J Jtable Eingabe nach Klick ausserhalb der Tabelle übernehmen Java Basics - Anfänger-Themen 6
B Array bei jeder Eingabe um eins erweitern Java Basics - Anfänger-Themen 3
TimoN11 IntelliJ , Ausgabe von einem Quellcode in Eingabe eines Quellcodes Java Basics - Anfänger-Themen 1
M Nach einer erstmaligen Eingabe, eine zweite Eingabe nur noch gegen bestätigung möglich Java Basics - Anfänger-Themen 2
chocobear26 Interface JOptionPane - Dialog_Fenster zeigt immer vorherige Eingabe an. Java Basics - Anfänger-Themen 4
E JavaFX Taschenrechner Eingabe im Textfield beschränken Java Basics - Anfänger-Themen 2
M JTextField nur Zahleneingaben zulassen, eingabe sperren Java Basics - Anfänger-Themen 24
E Timer trotz erwartender Eingabe durchlaufen lassen Java Basics - Anfänger-Themen 11
K falsche Eingabe abfangen Java Basics - Anfänger-Themen 8
N Eingabe erkennen, ob groß oder kleingeschrieben worden ist Java Basics - Anfänger-Themen 22
N Fehlerausgabe bei falscher Eingabe der Users Java Basics - Anfänger-Themen 3
N Eingabe des Users direkt hinter die Ausgabe Java Basics - Anfänger-Themen 3
N Eingabe Kommazahlen über Scanner Java Basics - Anfänger-Themen 2
O Mehrfache Scanner-Eingabe durch Komma getrennt Java Basics - Anfänger-Themen 6
M String array durch Eingabe begrenzen Java Basics - Anfänger-Themen 7
iman Eingabe von Benutzer Filter machen. Java Basics - Anfänger-Themen 7
M Input/Output JTextField Eingabe in String Variable speichern Java Basics - Anfänger-Themen 15
D Eingabe einscannen, ohne vorher einen Datentypen anzugeben? Java Basics - Anfänger-Themen 1
M Verschiedene Eingabe = Verschiedene Ausgaben Java Basics - Anfänger-Themen 5
H Eingabe Java Basics - Anfänger-Themen 7
F Bedingung für Eingabe Java Basics - Anfänger-Themen 2
K Durch eine Text eingabe etwas Ausführen Java Basics - Anfänger-Themen 5
Dimax Erste Schritte String Eingabe Prüfen Java Basics - Anfänger-Themen 11
R Eingabe String umwandeln zu Integer Werten Java Basics - Anfänger-Themen 8
B Türme von Hanoi mit einer beliebigen aber gültigen Eingabe lösen Java Basics - Anfänger-Themen 5
D While Schleife bei Bedarf durch Eingabe stoppen Java Basics - Anfänger-Themen 15
J Eingabe Einschränken Java Basics - Anfänger-Themen 1
Zrebna Compiler-Fehler Java-Compiler wird nach 'javac' keyword-Eingabe nicht gestartet (Erste Übung) Java Basics - Anfänger-Themen 18
A Datentypen Unterschiedliche Datentypen in einer Eingabe einlesen Java Basics - Anfänger-Themen 2
D Array via Eingabe befüllen Java Basics - Anfänger-Themen 6
M Wie kann ich eine Eingabe im Java-Swing übergeben? Java Basics - Anfänger-Themen 1
N Abbrechen einer Eingabe endet im Fehler Java Basics - Anfänger-Themen 3
S Konsolen eingabe Java Basics - Anfänger-Themen 17
M Scanner-Eingabe nach gewissem Zeitraum überprüfen Java Basics - Anfänger-Themen 2
x-tshainge Bei if (eingabe = = ... ) enter als eingabe nehemen Java Basics - Anfänger-Themen 4
S in ActionListener auf Eingabe aus anderem Frame warten Java Basics - Anfänger-Themen 2
S Eingabe in anderer Klasse verwenden Java Basics - Anfänger-Themen 3
T Input/Output Falsche Eingabe ausgeben Java Basics - Anfänger-Themen 3
R Ratespiel mit Return und einer Eingabe Java Basics - Anfänger-Themen 1
K Eingabe in Array speichern und Ausgeben Java Basics - Anfänger-Themen 9
J Eingabe des Scanners an einer bestimmten Position Java Basics - Anfänger-Themen 6
J Input/Output Den zweiten Output erst nach Eingabe ausgeben Java Basics - Anfänger-Themen 4
S Eingabe auf Richtigkeit und Reihenfolg überprüfen Java Basics - Anfänger-Themen 3
R Java CMD Eingabe verbergen Java Basics - Anfänger-Themen 4
L Eingabe überprüfen Java Basics - Anfänger-Themen 7
M Eingabe des Benutzers Verwenden Java Basics - Anfänger-Themen 9
T Input/Output Int Eingabe auf Zahl überprüfen Java Basics - Anfänger-Themen 30
S Method mit Eingabe abrufen Java Basics - Anfänger-Themen 1
N Operatoren Suchen nach einer bestimmten Eingabe (durch Scanner) Java Basics - Anfänger-Themen 7
K Überprüfen ob Eingabe ein Float ist Java Basics - Anfänger-Themen 4
G Warum funktioniert das Programm für negative Eingabe nicht? Java Basics - Anfänger-Themen 3
O Erste Schritte Eingabe anweisungen eliminieren Java Basics - Anfänger-Themen 3
G Objekt Instanziierung von Eingabe abhängig machen Java Basics - Anfänger-Themen 5
E Wie Passwort-Eingabe (ohne Echo!) über Konsole ? Java Basics - Anfänger-Themen 4
B Interface JTextField Eingabe als String verwenden Java Basics - Anfänger-Themen 3
F Abfrage ob Eingabe eine Zahl ist Java Basics - Anfänger-Themen 3
H Alternative Eingabe Java Basics - Anfänger-Themen 3
L Bei falscher Eingabe soll NaN zurückgegeben werden, Rückgabetyp jedoch double Java Basics - Anfänger-Themen 3
J Methoden Eingabe Methode nur Buchstaben Java Basics - Anfänger-Themen 4
F Die Teilersumme einer Eingabe berechnen Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben