Lahendatud: Java veenduge, et ainult üks tingimus oleks tõene

veenduge, et ainult üks tingimus oleks tõsi Tänapäeva kiires programmeerimismaailmas nõuavad arendajad sageli, et nende kood oleks tõhus ja vastupidav. Üks levinud stsenaarium on see, kui esineb mitu tingimust ja me peame tagama, et ainult üks tingimus oleks tõene. Selles artiklis uurime erinevaid viise, kuidas seda saavutada, kasutades võimsat ja mitmekülgset programmeerimiskeelt Java. Sukeldume ka mõningatesse lahenduse loomisega seotud teekide, funktsioonide ja programmeerimismeetoditega seotud kontseptsioonidesse. Niisiis, alustame!

Kõige tõhusam ja lihtsaim viis tagada, et mitme tingimuse hulgast oleks tõene ainult üks tingimus, on kasutada eksklusiivne või (XOR) operaator. Tehe XOR tagastab tõene, kui üks operandidest on tõene, kuid mitte mõlemad. Javas saame kasutada ^ (hool) sümbol XOR-operatsiooni sooritamiseks.

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);
    }
}

Ülaltoodud koodilõik näitab XOR-i operaatorit tegevuses. Vaatame koodi samm-sammult läbi:

1. Deklareerime klassi nimega OnlyOneConditionIsTrue.
2. Põhimeetodi sees defineerime kolm erinevate väärtustega tõeväärtuslikku tingimust.
3. Seejärel kontrollime operaatori XOR abil, kas ainult üks neist tingimustest on tõene.
4. Lõpuks trükime tulemuse konsooli.

Nüüd uurime mõningaid meie probleemiga seotud teeke ja funktsioone.

Java Boole'i ​​klass ja meetodid

. java.lang.Boolean klass on ümbrisklass, mis murrab tõeväärtust. See klass sisaldab erinevaid utiliidi meetodeid tõeväärtuste manipuleerimiseks ja nendega töötamiseks.

Mõned sagedamini kasutatavad meetodid on järgmised:

  • Boolean.parseBoolean(String s): Parsib stringi tõeväärtusena, tagastades tõene, kui string on "tõene" (tõutundlik) ja muul juhul false.
  • Boolean.valueOf(tõve b): Tagastab vastava Boole'i ​​eksemplari, salvestades eksemplaride vahemällu tõesed ja valed väärtused.
  • Boolean.logicalXor(tõve a, tõeväärtus b): Tagastab kahe tõeväärtuse vahelise loogilise XOR-operatsiooni tulemuse.

Me saame kasutada Boolean.logicalXor meetod sama tulemuse saavutamiseks nagu meie eelmine näide:

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

Apache Commons Lang – BooleanUtils

Lisaks sisseehitatud Java-teekidele on saadaval ka kolmandate osapoolte teegid, näiteks Apache Commons Lang pakkuda täiendavaid utiliite ja funktsioone tõeväärtustega töötamiseks. The BooleanUtils klass on osa Commons-lang3 teegist ja pakub mitmeid utiliite Boole'i ​​ja Boole'i ​​objektide jaoks.

Mõned meetodid hõlmavad järgmist:

  • BooleanUtils.xor(boolean[] massiiv): Teostab XOR-i tõeväärtuste massiivile.
  • BooleanUtils.negate(tõve bool): Eitab määratud tõeväärtuse.
  • BooleanUtils.toBoolean(int väärtus): Teisendab täisarvu väärtuse vastavaks tõeväärtuseks.

Et kasutada BooleanUtils.xor Apache Commons Langi meetodil lisage oma projektile järgmine sõltuvus:

Maven:
""

org.apache.commons
commons-lang3
3.12.0

""

aste:
""
juurutamine 'org.apache.commons:commons-lang3:3.12.0'
""

Seejärel saate kasutada x või selline meetod:

import org.apache.commons.lang3.BooleanUtils;

// ...

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

Kokkuvõttes on iga Java arendaja jaoks oluline oskus tagada, et mitme tingimuse hulgast oleks tõene ainult üks tingimus. Kasutades XOR-i operaatorit, Java sisseehitatud Boole'i ​​klassi või kolmandate osapoolte teeke, nagu Apache Commons Lang, saame selle eesmärgi tõhusalt saavutada ja luua tugevama koodi.

Seonduvad postitused:

Jäta kommentaar