Methoden Arrays auf true Werte prüfen

k93

Mitglied
Hallo Zusammen,

Ich habe eine frage zu einer Aufgabe. Und zwar habe ich 6 eindimensionale boolean-Arrays die ich mit Eingaben (JButton-clicks) fülle.

Ich möchte nun mit einer Methode herausfinden, ob es in mindestens 5 Arrays, mindestens 2 "true"-Werte gibt. Sollte dies nicht der fall sein, gibt es ein Syso mit "Falsche Eingabe".


Kann mir jemand eventuell einen Tipp geben?


Liebe Grüße
 
Soll es in einem Array jeweils 2 true werte geben oder in mind. 5 Arrays jeweils 2?

Für das letztere würde ich so etwas machen: (nicht getestet)

Java:
	public boolean hasEnoughTrues(int numberOfTrues, Boolean[]... booleanArrays) {
		int boolCounter = 0;
		for (Boolean[] booleans : booleanArrays) {
			for (Boolean bool : booleans) {
				if (bool) {
					boolCounter++;
					if (boolCounter == numberOfTrues) {
						return true;
					}
				}
			}
		}

		return false;
	}
 
Java:
package de.kram;

public class ArrayTester {

	/**
	 * @param args
	 */
	public static void main(final String[] args) {

		final boolean[] eins = { true, false, false, false, false, false };
		final boolean[] zwei = { true, true, false, false, false, false };
		final boolean[] drei = { true, false, true, true, false, false };
		final boolean[] vier = { true, false, false, true, true, true };
		final boolean[] fuenf = { false, false, false, false, false, false };
		final boolean[] sechs = { false, false, false, true, true, false };

		final boolean[][] arr = { eins, zwei, drei, vier, fuenf, sechs };

		final ArrayTester tester = new ArrayTester();

		int anzahlPassenderArrays = 0;
		for (final boolean[] bs : arr) {
			if (tester.pruefeArrayAufTreffer(bs, 2)) {
				anzahlPassenderArrays++;
			}
			System.out.println("anzahl " + anzahlPassenderArrays);
		}

	}

	private boolean pruefeArrayAufTreffer(
			final boolean zuUntersuchendesArray[],
			final int anzahlTrefferBenoetigt) {
		int gefunden = 0;

		for (final boolean element : zuUntersuchendesArray) {

			if (element) {
				gefunden++;
			}

		}
		return gefunden >= anzahlTrefferBenoetigt;

	}

}
 
Zuletzt bearbeitet:

Zurück
Oben