# aus Integer Array Maximum bestimmen



## Taramsis (24. Aug 2009)

Hi Leute,

ich habe ein Integer Array mit irgendwelchen Zahlen und möchte hierraus das Maximum bestimmen.
Ich hatte so etwas probiert aber es klappt nicht richtig:
ich habe eine set Methode definiert, die immer nach den Vergleich gesetzt wird 

```
int[] minutes2 = new int[size];
for (int k = 0; k < minutes2.length; k++) {
  for (int l = k+1; l < minutes2.length; l++) {
    if (minutes2[k]<minutes2[l]){
      managerAlg.setMaxDauer(minutes2[l]);
    }
  else if (minutes2[l]<minutes2[k]){
    managerAlg.setMaxDauer(minutes2[k]);
  }
}
```
Ich bekomme nicht immer das richtige Ergebnis.


----------



## ARadauer (24. Aug 2009)

```
int[] werte = {12,2,99,22};
		int max = Integer.MIN_VALUE;
		for(int wert: werte){
			if(wert>max)
				max = wert;
		}
		System.out.println(max);
```

oder versuchst du zu sortieren?


----------



## bygones (24. Aug 2009)

```
int[] werte = // wo immer auch her
Arrays.sort(werte);
int max = werte[werte.length - 1];
```


----------



## Marco13 (24. Aug 2009)

Wie kommt es eigentlich, dass diese Aufgabe immer wieder mit "sort" beantwortet wird :noe: Das ist von der Laufzeit her mieserabel, und verändert auch noch den übergebenen Array - ein 

```
int max = Integer.MIN_VALUE;
for (int i : array) max = Math.max(max, i);
```
ist doch auch nicht länger....!?


----------



## Leroy42 (24. Aug 2009)

Taramsis hat gesagt.:


> ```
> int[] minutes2 = new int[size];
> for (int k = 0; k < minutes2.length; k++) {
> for (int l = k+1; l < minutes2.length; l++) {
> ...



Wieso? Der Algorithmus ist doch korrekt und bei deinen
vorgegebenen Daten

```
int[] minutes2 = new int[size];
```
 kommt
doch auch der richtige Wert heraus: *0*
nur managerAlg.setMaxDauer(...) wird niemals aufgerufen da jeder
Vergleich false liefert


----------



## Taramsis (24. Aug 2009)

Vielen Dank! Wollt nur den Maximum!


----------



## bygones (24. Aug 2009)

Marco13 hat gesagt.:


> Wie kommt es eigentlich, dass diese Aufgabe immer wieder mit "sort" beantwortet wird :noe: Das ist von der Laufzeit her mieserabel, und verändert auch noch den übergebenen Array - ein
> 
> ```
> int max = Integer.MIN_VALUE;
> ...


nicht laenger... bin nur zu bloed Math.max zu finden :lol:


----------



## 0x7F800000 (24. Aug 2009)

bygones hat gesagt.:


> nicht laenger... bin nur zu bloed Math.max zu finden :lol:




```
int max = Integer.MIN_VALUE;
for (int i : array) if(max<i) max=i;
```
ist noch kürzer... kannst ja mal zur Strafe freiwillig 5 zufällige Aufgaben aus'm Cormen durchrechnen


----------

