Immer den niedrigsten und den höchsten Wert aus zahlen ohne Verwendung von arrays?
Ich versuche, eine Klasse schreiben, die liest 5 ganze zahlen vom Benutzer ein und gibt die höchsten und niedrigsten Wert zurück. Dies geschieht durch die Verwendung von Schleifen und ohne Verwendung von arrays und Integer.MIN.Wert/Integer.MAX.Wert. Ich habe bereits gelungen, code zu schreiben, der bekommt 5 Ganzzahlen aus der Benutzer-und der höchste Wert wird zurückgegeben, aber ich bekomme einfach nicht die höchste und der niedrigste Wert wird zurückgegeben, in der gleichen Klasse.
Hier ist der code, den ich oben erwähnt habe:
import java.util.Scanner;
public class Ovning_321 {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int number;
int max = 0;
for (int x = 0; x<5; x++){
System.out.print("Give me an integer: ");
number = input.nextInt();
if (number > max){
max = number;
}
}
System.out.println("Highest value: " + max);
}
}
- Sagen Sie, dass Sie können oder können nicht verwenden Sie
MIN_VALUE
? Wenn du schon Logik, die verfolgt, der höchste Wert gesehen, wie konnte Sie Sie ändern, etwas hinzufügen, die Spur hält der niedrigste Wert gesehen???? - +1 für menschenwürdige versuchen, auf eigene Faust und bekommen max fast direkt auf Ihrer eigenen
- was ist, wenn alle Eingänge den negativen ganzen zahlen? dann wird dieser falsch geben von 0 max
- das ist, warum der Benutzer ist hier um Hilfe zu bitten, SO
- no_answer_not_upvoted Aber max hat Recht? Ich meine, die Anwendung tut, was ich will, es zu tun. @ Unterstreichungszeichen Sollte erwähnt haben, dass negative Eingaben sind nicht erlaubt der Nutzer. Dies sollte dazu aufgefordert wurden, in das System.aus.drucken.
- max ist fast richtig. das problem mit max ist, dass Sie nicht für negative Eingaben. unten meine Antwort funktioniert sowohl für positive und negative Eingänge.
Du musst angemeldet sein, um einen Kommentar abzugeben.
hier gehen Sie 🙂
$ javac Ovning_321.java
$ java Ovning_321
Gib mir eine ganze Zahl: -4 Gib mir eine ganze Zahl: -5 Gib mir eine ganze Zahl: -3 Gib mir eine ganze Zahl: -2 Gib mir eine ganze Zahl: 0 Höchsten Wert: 0 Niedrigster Wert: -5x == 0
Zustand ausgelöst wird .. oder bin ich etwas fehlt?$ java Ovning_321 Give me an integer: -1 Give me an integer: -2 Give me an integer: 0 Give me an integer: -4 Give me an integer: -5 Highest value: 0 Lowest value: -5
if (number == 0 || number > max)
was war die Quelle meiner Fehler. sorry für die Verwirrung.Warum nicht einfach wiederholen Sie Ihre max Logik für min?
Beachten Sie, dass die max und min sind zunächst auf die erste Zahl, die der Benutzer eingibt, so wird es keine false 0 ist, und keine Notwendigkeit zu
MAX_INT
oderMIN_INT
. Dies wiederum macht die Schleife einmal ausgeführt weniger so enden zui == 4
statt 5.