Minimum wird nicht ausgegeben

Status
Nicht offen für weitere Antworten.

Erdalprinz

Mitglied
Hallo,

habe in Programmierung ne Aufgabe bekommen: "Machen Sie eine Abfrage, ob der größte oder kleinste Wert ausgegeben werden soll und geben Sie diesen aus:"

Nun habe ich das mit dem Maximum schon soweit gemacht und auch bei welcher Eingabe der größte Wert eingegeben wurde. Nur das Erkennen meines Minimums macht mir noch Probleme:

Java:
package Übung1;
import java.util.Scanner;
public class Aufgabe3 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		int ctr=0;
		int Nummer=0;
		Scanner a = new Scanner(System.in);
		System.out.println("Geben Sie die Anzahl der Wiederholungen ein");
		int anz = a.nextInt();
		int letzteEing=0;
		int max=0;
		int min = Integer.MAX_VALUE;
		while (ctr< anz)
		{
			
			System.out.println("Geben Sie eine Zahl ein");
			letzteEing= a.nextInt();
			if (letzteEing > max)
			{
				
				max = letzteEing;
				Nummer = ctr;
				
				
			}
			else if (letzteEing < min)
			{
				letzteEing = min;
			}
			
			ctr++;
			
			}
			
		System.out.println("Minimum: "+min);
		System.out.println("Maximum: "+max);
		System.out.println(Nummer + ".Eingabe war die Größte");
		}
	 	 
		// TODO Auto-generated method stub

	}

Wenn ich nun mein Minimum eingebe, gibt er mir leider immer als Minimum die größte Integer Zahl aus. Weiß leider nicht wo mein Fehler liegt ?!

Danke im Vorraus

P.S.: Das mit der Abfrage, wollt ich erst später probieren ;-)
 
du weist ja nirgends min einen wert zu
[c]letzteEing = min;[/c] meinst du wahr. andersrum ?!
 
Kommst du von der Sprache C? Sieht irgendwie verdächtig aus 🙂 Ein Tipp: du kannst mit Math.max() und Math.min() arbeiten.
 
Also ich hab ja oben einen Scanner eingefügt, der erst fragt wie viele Wiederholungen durchlaufen werden sollen und danach sollen dementsprechend viele Integer Zahlen eingegeben werden. Von diesen ganzen Zahlen hab ich ja bereits das Maximum bestimmt und will eben von diesen eingebenen Zahlen auch das Minimum bestimmen. Daher versteh ich den Tipp mit der Zuweisung von min nicht 😵

Mit Math.min() haben wir bisher noch nicht gearbeitet, daher geh ich mal davon aus, dass wir das nicht benutzen sollen.

Komme auch nicht von der Sprache C, sondern bin "nur" Java-Neuling 😉
 
Daher versteh ich den Tipp mit der Zuweisung von min nicht 😵
schau doch mal wie du es mit max gemacht hast
Java:
 if (letzteEing > max) {
     max = letzteEing;
 }
d.h. du speicherst dir, wenn der letze eintrag groesser ist als max diesen als neuen Max wert... richtig so

nun schau was bei min falsch sein koennte
Java:
else if (letzteEing < min) {
    letzteEing = min;
 }
was wird da nun wo gespeichert ?
 
Lol Danke ^^

Ich bin mir aber sicher, dass ich's so schon mal hatte und es nicht geklappt hatte...naja egal jetzt läufts ^^
 
weiterhin ist es ungünstig, wenn nur 1 Wert eingegeben wird.
In dem Falle ist min = max, aber dein min wird aufgrund des else nicht beschrieben😉
Das kannst du ja auch noch irgendwie als Sonderfall abfangen (1 Wert)
 
Gut, ich denke da wir noch n ziemlicher Anfängerkurs sind, wwar die Aufgabenstellung nur auf positive, unterschiedliche Zahlen gedacht. Denke also meine Lösung reicht aus ;-)
 
Mach einfach:

Java:
int max=0;
zu
Java:
int max=Integer.MIN_VALUE;

dann werden alle Zahlen in max eingeschlossen, die von int erfasst werden können
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben