kniffliges "boolsches" problem...

ruutaiokwu

Top Contributor
hallo zusammen,

habe da ein spezielles problem, ich benötige ein konstrukt aus boolschen operatoren,

welches aus (theor. unendlich vielen) eingangswerten ein true als ausgabewert hat, und das bei folgenden beiden kriteren:

- alle eingangswerte sind false

oder

- max. 1 eingangswert ist true.


bei > 1 eingangswert==true sollte das resultat false sein... unabhängig von der anzahl der eingabewerte...


geht sowas überhaupt? habe den einen ingenieur in meiner firma gefragt, er wusste auch keine lösung für dieses problem...

bin gespannt ob jemand eine lösung parat hat?


grüsse,
jan
 
Und wieso schreibst du dir dafür nicht einfach eine Methode?
z.B.
Java:
	public static void main(String[] args) throws Exception {
		System.out.println(check(false, false, false));
		System.out.println(check(false, true, false));
		System.out.println(check(false, true, true));
	}

	public static boolean check(boolean... eingangswerte) {
		int wahr = 0;
		for (boolean b : eingangswerte) {
			if (b) {
				if (++wahr > 1) {
					return false;
				}
			}
		}
		return true;
	}
 
Zuletzt bearbeitet:
danke, einen ähnlichen ansatz habe ich bereits realisiert.

(jedoche kenne ich "boolean... eingangswerte" und "boolean b : eingangswerte" bisher nicht, wieder was neues gelernt...)

bin mir nicht so sicher ob meine ursprüngliche idee überhaupt realisierbar ist...?

danke & gruss, jan
 
Was ist denn der Unterschied zwischen deiner Idee und eRaaaas Code? Ist [c]wahr > 1[/c] dann wird [c]false[/c] zurückgegeben, ansonsten [c]true[/c] 🙂
 
Java:
    public static boolean check(boolean... values) {
        boolean truth = false;
        for (boolean b : values) {
            if(b && truth) return false;
            truth |= b;
        }
        return true;
    }
 

Neue Themen


Zurück
Oben