Kleinster Wert im Array bestimmen

seyko

Neues Mitglied
Hallo,

ich weiss das wurde schon sehr häufig besprochen ich kriegs aber trotzdem nicht hin. Ich bin jetzt so weit, dass ich ein Array der Größe 15 habe mit Abbruchbedingungen. Auch die Ausgabe der eingelesenen Werte und die Anzahl funktioniert. Jetzt habe ich geguckt, wie man die kleinste Zahl bestimmen kann. Allerdings ist die Ausgabe fehlerhaft. Hier ist der gesamte Code

Java:
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        
        
        
        Scanner s = new Scanner(System.in);  
        System.out.print("\nBitte geben Sie 15 Zahlen ein.\n");
        if (!s.hasNextInt())
            System.exit(0);
        int[] Zahleneingabe = new int[15];
        int index=0;
		int min = Integer.MIN_VALUE;
		while (s.hasNextInt()){
            Zahleneingabe[index]=s.nextInt();
            index++;
            if ( index>=15)
                break;
        }
      System.out.println("\nEs wurden " +  index  + " Zahlen eingegeben.\n");
      System.out.println("Die eingegebene Werte sind " + java.util.Arrays.toString(Zahleneingabe));  
 

for (int i=0; i < Zahleneingabe.length; i++) {
	if(Zahleneingabe[i]< min)
	min = Zahleneingabe[i];
	{
	System.out.println("Kleinste Zahl " + min );  
	}
}	 
 

}
}


Danke schonmal
 
1. Du solltest unbedingt Klammern setzen um jeden if, for, while usw. Block, auch wenn nur eine Anweisung darin ist.

2. der Anfangswert von min sollte nicht MIN_VALUE sondern MAX_VALUE sein 😉

3. Das System.out.println in Zeile 29 sollte wohl eher hinter die for-schleife als mitten drin....
 
Die Ausgabe ist schon korrekt. 1. Hast du deine Ausgabe in der Schleife, 2. schreibst du da
Code:
int min = Integer.MIN_VALUE;
den kleinsten Int Wert in min, was effektiv
Code:
-2147483648
ist. Daher werden deinen eingegeben Zahlen wohl nie kleiner sein ^^
 
ein paar Zeilen musst du wie folgt ändern:

[JAVA=14]int min = Integer.MAX_VALUE;[/code]

[JAVA=25]
for (int i=0; i < Zahleneingabe.length; i++) {
if(Zahleneingabe< min)
{
min = Zahleneingabe;
}
}System.out.println("Kleinste Zahl " + min );
[/code]
 

Neue Themen


Zurück
Oben