hey leute,
ich hab folgendes Problem.
Ich will ein Programm schreiben, dass ein Array überprüft, die größte und die kleinste Zahl löscht, den rest summiert und dann ausgibt.
ich habe die lösung zu dem Programm, aber nur mit der erweiterten for-schleife,
kann man das programm nicht einfach mit der normalen schreiben?!
Lösung der Methode:
Meine Vorstellung, einfach der Verständnis wegen, da ich die erweiterte Schleife einfach nicht auf den Schirm bekomme.
Irgendwas muss ich falsch machen, wenn ich die Werte des Arrays aufrufe, dass er damit die Schleife durchläuft.
Das a, ich glaub ich hab da einfach nen kleinen Denkfehler!!???:L;(
ODER!! geht das überhaupt?! Kann ich die normale for-schleife nutzen?!
Ob es sinnvoller so oder so ist, ist erstmal egal, ich möchte das Grundprinzip verstehen, da ich alles schon mehrmals gegoogelt etc. habe und es einfach nicht verstehe, dachte ich ihr könnt mir helfen!!
danke
js007
ich hab folgendes Problem.
Ich will ein Programm schreiben, dass ein Array überprüft, die größte und die kleinste Zahl löscht, den rest summiert und dann ausgibt.
ich habe die lösung zu dem Programm, aber nur mit der erweiterten for-schleife,
kann man das programm nicht einfach mit der normalen schreiben?!
Lösung der Methode:
Java:
static int gesamtNote( int[]a ) {
if (a == null || a.length <= 2 )
throw new IllegalArgumentException("Das Feld ist ein ungültiges");
int min = 20, max = 0, sum = 0;
for ( int i : a) {
if (i < 0 || i > 20)
throw new IllegalArgumentException("Falsche Eingabe");
if (i > max) max = i;
if (i < min) min = i;
sum += i;
}
return sum-min-max;
}
Meine Vorstellung, einfach der Verständnis wegen, da ich die erweiterte Schleife einfach nicht auf den Schirm bekomme.
Java:
static int gesamtNote( int[]a ) {
if (a == null || a.length <= 2 )
throw new IllegalArgumentException("Das Feld ist ein ungültiges");
int min = 20, max = 0, sum = 0;
for (int i = 0; i <= a.length; i++ ) {
if (a[i] < 0 || a[i] > 20)
throw new IllegalArgumentException("Falsche Eingabe");
if (a[i] > max) max = a[i];
if (a[i] < min) min = a[i];
sum += a[i];
}
return sum-min-max;
}
Irgendwas muss ich falsch machen, wenn ich die Werte des Arrays aufrufe, dass er damit die Schleife durchläuft.
Das a, ich glaub ich hab da einfach nen kleinen Denkfehler!!???:L;(
ODER!! geht das überhaupt?! Kann ich die normale for-schleife nutzen?!
Ob es sinnvoller so oder so ist, ist erstmal egal, ich möchte das Grundprinzip verstehen, da ich alles schon mehrmals gegoogelt etc. habe und es einfach nicht verstehe, dachte ich ihr könnt mir helfen!!
danke
js007
Zuletzt bearbeitet: