Methode: Überprüft ob Zahlen im Array gerade sind?

Hallo ich bin neu im Java, und komme bei meiner Hausaufgabe nicht weiter, weil ich nicht weiß wie ich das machen soll...

die Aufgabe ist eine Methode entwickeln, die überprüft ob alle Zahlen im üergebenen Array (Reihe) gerade sind. Wenn das übergebene Array nicht existent ist, soll die Methode false zurückgeben
In einem leeren Array sind alle Einträge gerade.

Ich will hier keine vollständige Lösung haben sondern nur eine Hilfe wie ich das machen könnte, weil ich nicht weiß wie :D
 
and Modulo habe ich auch schon gedacht, ich weiß nur nicht wie ich das hinschreibe

Java:
public boolean allEven(int[] arr) {
    	if ( allEvent(int[] % 2 == 0){
    	      	}


        return true;
    }
 
G

Gast2

Gast
Java:
	public static boolean containsOnlyEvenNumbers(final int[] array){
		if(array == null) {
			return false;
		}
		if(array.length == 0){
			return true;
		}
		for(int i : array){
			if(i%2 != 0){
				return false;
			}
		}
		return true;
	}
 

r.w.

Bekanntes Mitglied
Perfekt!
In nur 37 Min. die Hausaufgabe gelöst, ohne selbst nachdenken zu müssen.
Das nenne ich effektiv. ;o)
 

henpara

Bekanntes Mitglied
Perfekt!
In nur 37 Min. die Hausaufgabe gelöst, ohne selbst nachdenken zu müssen.
Das nenne ich effektiv. ;o)
Und jetzt noch ohne Ironie:

GAU!
In nur 37 Min. die Hausaufgabe gelöst, ohne selbst nachdenken zu müssen, daher auch ohne selbst was dazugelernt zu haben.
Das nenne ich dumm.
Bestraft wirds dann je nach geistiger Kapazität spätestens bei der nächsten Prüfung.
 

Murray

Top Contributor
Das ist in diesem Fall aber nicht so sehr dem TO anzulasten, denn der hat ja eingangs geschrieben, dass er eben keine vollständige Lösung möchte.
 

nrg

Top Contributor
oder rekursiv

Java:
	public static boolean allEven(int[] a, int i) {
		return a == null || i < 0 ? false : i < a.length ? a[i] % 2 == 0 ? allEven(a, i+1) : false : true; 
	}

wobei das vllt bisschen unschön zu lesen ist :)
 

ARadauer

Top Contributor
Das ist in diesem Fall aber nicht so sehr dem TO anzulasten, denn der hat ja eingangs geschrieben, dass er eben keine vollständige Lösung möchte.

Doch, wer fragt wie man über ein array iterieren hat keine lust sich irgend wie mit dem thema auseinander zu setzen... und will indirekt die komplett lösung...

Aber ist ja egal, wer sowas nicht schafft studiert sicher nicht informatik, sondern macht das in der schule und da (finde ich) hällt sich die tragik in grenzen, wenn man sich mal durchschumelt, da man später das wahrscheinlich nie wieder braucht..
 
S

SlaterB

Gast
oder rekursiv

Java:
	public static boolean allEven(int[] a, int i) {
		return a == null || i < 0 ? false : i < a.length ? a[i] % 2 == 0 ? allEven(a, i+1) : false : true; 
	}

wobei das vllt bisschen unschön zu lesen ist :)

nicht schöner, aber wenn man schon so eine Zeile hat dann doch gleich ohne true und false:
Java:
    public static boolean allEven2(int[] a, int i)
    {
        return (a == null) || (i >= 0 && (i >= a.length || (a[i] % 2 == 0 && allEven(a, i + 1))));
    }
;)
 
Java:
	public static boolean containsOnlyEvenNumbers(final int[] array){
		if(array == null) {
			return false;
		}
		if(array.length == 0){
			return true;
		}
		for(int i : array){
			if(i%2 != 0){
				return false;
			}
		}
		return true;
	}

danke erstmal für die Lösung, was ich nicht nachvollziehen kann ist das letzte return true..

beim ersten versteh ich das ja: wenn array leer ist wird false returned
beim zweiten if, wenn das Array nicht existent ist, wird ebenfalls falls returnt
beim dritten, wenn die zahlen ungerade sind, wird auch ein false returned

das letzte return gibt ein true aus, was bestimmt dann ausgegeben wird, wenn die zahlen gerade sind, aber müsste da kein else oder so stehen?
 
Nein, das ist für mein Tech.Informatik Studium, habe java erst gerade im 2.Semester und blicke nicht so durch bei den Hausaufgaben momentan.

Kann das Programm denn bis zur letzten Anweisung kommen, wenn das Array existiert, nicht leer ist und ungerade Zahlen enthält?

Naja, eigentlich nicht, denn wenn die davor aufgelisteten bedingungen gelten, werden die dazu gehörigen "returns" ausgegeben, hmm, ok, also heißt das wenn alle drei bedingungen nicht erfüllt sind, wird dann erst die letzte Anweisung ausgeführt?
 

ARadauer

Top Contributor
Nein, das ist für mein Tech.Informatik Studium, habe java erst gerade im 2.Semester und blicke nicht so durch bei den Hausaufgaben momentan.
Mhn ich weiß jetzt nicht ob ich das sagen soll, aber ganz ehrlich: Das is schon sehr krass!

Es ist schon seltsam, das man im 2. Semester eines Informatik Studiums keine Schleife über ein array zusammen bringt. Aber ok...

kleiner Tipp: Nicht aufgeben, aber auf jeden Fall nochmal die Zeit nehmen und ein paar Stunden die Grundlagen ansehen...
 
Naja, habe erst seit 3 Wochen Java^^ davor hatten wir im ersten Semester eine funktionale Programmiersprache OPAL (wird in der TU-Berlin) verwendet

Vielen Dank erstmal für die Hilfe
 
S

SlaterB

Gast
ein else zum if in der Schleife wäre sogar schlecht, ruhig mal ausprobieren/ drüber nachdenken
 

Neue Themen


Oben