true false omzetten naar 1 0

Status
Niet open voor verdere reacties.

Nikohw

Gebruiker
Lid geworden
12 sep 2009
Berichten
28
beste...

ik probeer met java een code te editen...

het doel is om deze code:

Code:
class truefalsetable{
public static void main(String args[]) {

boolean p, q;

System.out.println("P\tQ\tAND\tOR\tXOR\tNOT");

p = true; q = true;
System.out.print(p + "\t" + q +"\t");
System.out.print((p&q) + "\t" + (p|q) + "\t");
System.out.println((p^q) + "\t" + (!p));

p = true; q = false;
System.out.print(p + "\t" + q +"\t");
System.out.print((p&q) + "\t" + (p|q) + "\t");
System.out.println((p^q) + "\t" + (!p));

p = false; q = true;
System.out.print(p + "\t" + q +"\t");
System.out.print((p&q) + "\t" + (p|q) + "\t");
System.out.println((p^q) + "\t" + (!p));

p = false; q = false;
System.out.print(p + "\t" + q +"\t");
System.out.print((p&q) + "\t" + (p|q) + "\t");
System.out.println((p^q) + "\t" + (!p));

}
}

zo aan te passen dat de output nullen en enen worden in plaats van true of false...

iemand een idee hoe je dit moet doen/ voorbeeld :$?
 
Laatst bewerkt door een moderator:
Probeer het volgende eens:

Code:
System.out.println((p ? "1" : "0") + "\t");

dus

Code:
p ? "1" : "0"

levert "1" op als p==true, anders "0"

(Ik weet niet zeker of het precies goed is, maar deze korte if-notatie kan wel. Kan zijn dat ik iets vergeet of omdraai ;) )
 
huh, waar zou ik dat moeten doen? op elke regel :$? kan je er misschien 1 voordoen want ik snap hem niet zo?
 
Laatst bewerkt:
De becommentaarde regel is jouw regel, de regel daaronder is mijn versie, wat de 1 en 0 oplevert. (Aangezien 1 en 0 integers zijn en je deze ook kunt printen, zijn de "" in mijn eerste post overbodig, dus 1 ipv "1" werkt ook)

Code:
package test;


class truefalsetable
{

    public static void main(String args[])
    {

        boolean p, q;

        System.out.println("P\tQ\tAND\tOR\tXOR\tNOT");

        p = true;
        q = true;
        //System.out.print(p + "\t" + q + "\t");                                 jouw regel
        System.out.print((p?1:0) + "\t" + (q?1:0) + "\t");                //mijn regel
        System.out.print((p & q) + "\t" + (p | q) + "\t");
        System.out.println((p ^ q) + "\t" + (!p));

        p = true;
        q = false;
        System.out.print(p + "\t" + q + "\t");
        System.out.print((p & q) + "\t" + (p | q) + "\t");
        System.out.println((p ^ q) + "\t" + (!p));

        p = false;
        q = true;
        System.out.print(p + "\t" + q + "\t");
        System.out.print((p & q) + "\t" + (p | q) + "\t");
        System.out.println((p ^ q) + "\t" + (!p));

        p = false;
        q = false;
        System.out.print(p + "\t" + q + "\t");
        System.out.print((p & q) + "\t" + (p | q) + "\t");
        System.out.println((p ^ q) + "\t" + (!p));

    }
}
 
hmm ja dat werkt bij de eerste regel, maar hoe zit dat bij bijv de derde :S?
 
Code:
 System.out.println((p ^ q) + "\t" + (!p));

wordt

Code:
 System.out.println(((p ^ q)?1:0) + "\t" + ((!p)?1:0));

het werkt gewoon als volgt:

Code:
[conditie]?[true]:[false]; //conditie is een boolean of vergelijking, true is wat te doen als conditie true is, false wat te doen bij conditie=false
 
Laatst bewerkt:
Geen probleem!

ps. vergeet niet je vraag op 'opgelost' te zetten rechtsonderin ;)
 
@Nikohw: Gelieve je vraag niet aan te passen wanneer het is opgelost.
Zoals gemeld: de status rechtsonder aanpassen naar "Opgelost".

Op die manier hebben andere gebruikers er ook nog wat aan ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan