Die größte Zahl anzeigen

javaaaaa

Mitglied
Hallo liebes Forum,
ich versuche mir selber Java beizubringen. Eine Aufgabe in dem Buch ist folgende: schreibe ein Programm, bei dem der Benutzer hintereinander int-Werte eingibt. Der Computer beendet die Schleife, sobald
der Benutzer eine nicht-positive Zahl eingibt. Nach der Schleife zeigt das Programm die größte vom Benutzer eingegebene Zahl an.
Arrays oder so etwas hatten wir noch nicht. Deshalb bitte ich um einfache Lösungen.

Danke im Voraus
javaaa

Hier der Code bisher. Weiter komme ich leider nicht:

Java:
package javaüebung;
import java.util.Scanner;
public class uebung {
public static void main(String[] args) {
    Scanner keyboard= new Scanner(System.in);
    System.out.println("Geben Sie Zahlen ein.");
    System.out.println("Das Programm wird Ihnen die höchste"
            + " von Ihnen eingegebene Zahl ausgeben.");
    int inputNumber=keyboard.nextInt();
    while (inputNumber > 0 ) {
    inputNumber=keyboard.nextInt();
        }

    System.out.println("Die höchste Zahl ist " ) ;
keyboard.close();
}
}
 
Hallo @javaaaaa 😉 immer schön, wenn jemand etwas lernen möchte...

 
Hallo @javaaaaa 😉 immer schön, wenn jemand etwas lernen möchte...

Das ist ne andere Aufgabe...
 
Naja, die derzeitige größte Zahl ist entweder die Zahl die eingegeben wurde.... oder nicht. Mehr Möglichkeiten gibt es nicht.

Überprüfe in deiner while-Schleife ob eingegebeneZahl > max und setz max = eingegebeneZahl falls es stimmt.
 
ich habe es probiert aber ich möchte nicht addieren, sondern mir nur die größte Zahl anzeigen lassen.
Schau mal, ich habe es nur minimal angepasst:
Java:
		Scanner eingabe = new Scanner(System.in);

		int zahl1;

		int zahl2 = 0; // hält das Maximum

		while ((zahl1 = eingabe.nextInt()) >= 0) {

			if (zahl1 > zahl2) {
				zahl2 = zahl1;
			}

		}

		System.out.println(zahl2);
 
Java:
        Scanner eingabe = new Scanner(System.in);
        int zahl2 = 0; // hält das Maximum

Warum hast Du nicht einfach an dem Zeitpunkt, an dem Du den Kommentar geschrieben hast, die Rename Funktionalität der IDE genutzt um die Variable in maximum umzubenennen? Das bitte nicht als Kritik ansehen sondern einfach als freundlichen Vorschlag. Es dauert nicht länger und der Code wird - meiner Meinung nach - lesbarer.

Edit: Da ist beim Editieren des Quotes etwas schief gelaufen und wurde gefixt.
 
Zuletzt bearbeitet von einem Moderator:
als was deklariere/definiere ich dann max? weil jetzt bekomme ich eine fehlermeldung
aktueller Programmstand ? Aber man kann das "max." als 0 (sprich: Null) definieren oder man verwendet eine der Zahlen des Arrays (idR das erste) und läuft dann via Schleife durch.
 
Nunja - Integer statt int und null verwenden oder ein Optional wenn man das bevorzugen sollte wären beide nett.

Aber generell bietet es sich an, Werte zu nehmen, die außerhalb des logisch erlaubten Bereichs sind. 0 ist innerhalb des erlaubten Bereichs, daher würde ich einen negativen Wert nehmen, z.B. -1.
Dann kann man am Ende prüfen: Maximum >= 0 -> Es ist die größte eingegebene Zahl; sonst -> Es wurde keine positive Zahl eingegeben.
 
die Rename Funktionalität der IDE genutzt um die Variable in maximum umzubenennen?
Also
a) dann brauche ich die Variablen nicht jedes Mal umbenennen, wenn ich etwas ändere,
b) der TE muss sich mit den Variablen und dem Code auseinandersetzen, um zu verstehen, was der Code tut - und das fördert das Code-/Lösungsverständnis,
c) dadurch ist der TE in der Lage, zukünftige Fragestellungen eigenständig zu lösen...
 
Also
a) dann brauche ich die Variablen nicht jedes Mal umbenennen, wenn ich etwas ändere,
b) der TE muss sich mit den Variablen und dem Code auseinandersetzen, um zu verstehen, was der Code tut - und das fördert das Code-/Lösungsverständnis,
c) dadurch ist der TE in der Lage, zukünftige Fragestellungen eigenständig zu lösen...

Leider gibt man dadurch auch gleich ein Beispiel, wie man es eigentlich nicht machen sollte (aussagekräftige Benennung der Variablen). Und für c) hättest du ihm ja auch noch die Chance geben können die Lösung selbst zu finden, bevor du sie ihm vorgibst. So schwierig war die Aufgabe ja nicht. Da hätte er für künftige Fragestellungen vermutlich noch mehr davon gehabt.
 
Es war nur ein freundlicher Hinweis. Aus meiner Sicht ist vieles eine Angewohnheit. Spätestens dann, wenn man eben schnell etwas erledigen will, dann macht man etwas genau so, wie man es eben gewöhnt ist. Daher versuche ich mir halt gewisse Dinge, die ich für gut halte, immer zu machen, damit ich mir dies angewöhne. Aber Du kannst da gerne alles so machen, wie Du es für richtig erachtest. Ich schließe nicht einmal aus, dass es Gründe geben mag, es hier anders zu machen. Aber da sehe ich das Problem, dass man es sich da ggf. falsch angewöhnt (so man in anderen Bereichen tätig ist oder sein will.)

Aber auch das ist nur meine Sichtweise - selbst die muss man nicht teilen ...
 

Zurück
Oben