# Kleinster Wert im Array bestimmen



## seyko (29. Dez 2011)

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


```
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


----------



## Schandro (29. Dez 2011)

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....


----------



## pro2 (29. Dez 2011)

Die Ausgabe ist schon korrekt. 1. Hast du deine Ausgabe in der Schleife, 2. schreibst du da 
	
	
	
	





```
int min = Integer.MIN_VALUE;
```
 den kleinsten Int Wert in min, was effektiv 
	
	
	
	





```
-2147483648
```
 ist. Daher werden deinen eingegeben Zahlen wohl nie kleiner sein ^^


----------



## Kiri (29. Dez 2011)

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]_


----------



## seyko (30. Dez 2011)

Super, vielen Dank. Freut mich, dass ich nicht so weit daneben lag.


----------

