Rijeลกeno: Java provjeri da je samo jedan uslov taฤan

provjerite je li samo jedan uslov taฤan U danaลกnjem brzom svijetu programiranja, programeri ฤesto zahtijevaju da njihov kod bude efikasan i robustan. Jedan uobiฤajeni scenario je kada je prisutno viลกe uslova, a mi moramo osigurati da je samo jedan uslov istinit. U ovom ฤlanku ฤ‡emo istraลพiti razliฤite naฤine da se to postigne pomoฤ‡u Jave, moฤ‡nog i svestranog programskog jezika. Takoฤ‘er ฤ‡emo zaroniti u neke koncepte vezane za biblioteke, funkcije i metode programiranja ukljuฤene u izradu rjeลกenja. Dakle, poฤnimo!

Najefikasniji i najjednostavniji naฤin da se osigura da je samo jedan uslov taฤan meฤ‘u nekoliko uslova je koriลกtenje ekskluzivno ili (XOR) operater. Operacija XOR vraฤ‡a true ako je jedan od operanada istinit, ali ne oba. U Javi moลพemo koristiti ^ (karet) simbol za izvoฤ‘enje operacije XOR.

public class OnlyOneConditionIsTrue {
    public static void main(String[] args) {
        boolean condition1 = true;
        boolean condition2 = false;
        boolean condition3 = true;

        boolean onlyOneIsTrue = condition1 ^ condition2 ^ condition3;
        System.out.println("Only One Condition Is True: " + onlyOneIsTrue);
    }
}

Isjeฤak koda iznad pokazuje XOR operator u akciji. Proฤ‘imo kroz kod korak po korak:

1. Proglaลกavamo klasu imenovanom OnlyOneConditionIsTrue.
2. Unutar glavne metode definiramo tri logiฤka uvjeta sa razliฤitim vrijednostima.
3. Zatim koristimo XOR operator da provjerimo da li je samo jedan od ovih uslova taฤan.
4. Na kraju ispisujemo rezultat na konzolu.

Sada, istraลพimo neke biblioteke i funkcije povezane s naลกim problemom.

Java Boolean klasa i metode

The java.lang.Boolean class je klasa omotaฤa koja umotava logiฤku vrijednost. Ova klasa sadrลพi razliฤite usluลพne metode za manipulaciju i rad na booleovim vrijednostima.

Neke od najฤeลกฤ‡e koriลกtenih metoda su:

  • Boolean.parseBoolean(String s): Raลกฤlanjuje string kao logiฤku vrijednost, vraฤ‡ajuฤ‡i true ako je string โ€œtrueโ€ (neosjetljiv na velika i mala slova) i false u suprotnom.
  • Boolean.valueOf(boolean b): Vraฤ‡a odgovarajuฤ‡u Booleovu instancu, keลกirajuฤ‡i instance za istinite i netaฤne vrijednosti.
  • Boolean.logicalXor(boolean a, boolean b): Vraฤ‡a rezultat logiฤke operacije XOR izmeฤ‘u dvije logiฤke vrijednosti.

Moลพemo koristiti Boolean.logicalXor metoda za postizanje istog rezultata kao i naลก prethodni primjer:

boolean onlyOneIsTrue = Boolean.logicalXor(condition1, Boolean.logicalXor(condition2, condition3));

Apache Commons Lang โ€“ BooleanUtils

Pored ugraฤ‘enih Java biblioteka, biblioteke treฤ‡ih strana kao npr Apache Commons Lang pruลพaju dodatne usluลพne programe i funkcije za rad s booleovim vrijednostima. The BooleanUtils class je dio commons-lang3 biblioteke i nudi nekoliko usluลพnih metoda za boolean i boolean objekte.

Neke od metoda ukljuฤuju:

  • BooleanUtils.xor(boolean[] niz): Izvodi XOR preko niza logiฤkih vrijednosti.
  • BooleanUtils.negate(boolean bool): Negira navedenu logiฤku vrijednost.
  • BooleanUtils.toBoolean(int vrijednost): Pretvara cjelobrojnu vrijednost u odgovarajuฤ‡u logiฤku vrijednost.

Za koriลกtenje BooleanUtils.xor metodom iz Apache Commons Langa, dodajte sljedeฤ‡u ovisnost svom projektu:

Maven:
"`

org.apache.commons
commons-lang3
3.12.0

"`

gradle:
"`
implementacija 'org.apache.commons:commons-lang3:3.12.0'
"`

Zatim moลพete koristiti refren metoda ovako:

import org.apache.commons.lang3.BooleanUtils;

// ...

boolean[] conditions = {condition1, condition2, condition3};
boolean onlyOneIsTrue = BooleanUtils.xor(conditions);

Ukratko, osiguravanje da je samo jedan uslov istinit meฤ‘u nekoliko uslova je suลกtinska vjeลกtina za svakog Java programera. Koristeฤ‡i XOR operator, Javu ugraฤ‘enu Boolean klasu ili biblioteke treฤ‡e strane kao ลกto je Apache Commons Lang, moลพemo efikasno postiฤ‡i ovaj cilj i kreirati robusniji kod.

Sliฤni postovi:

Ostavite komentar