我该怎么做,所以程序会输出1和0而不是true和false?

时间:2016-08-18 08:11:15

标签: java math output logical-operators

在练习Java时,我想出了一个用于逻辑运算符的Truth Table程序。 现在,我无法弄清楚如何显示1和0而不是true和false。

这是我的代码:

public class Main {

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

}

1 个答案:

答案 0 :(得分:4)

而不是下面的行:

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

您可以执行以下操作

print(p,q);
print(p&q, p|q);
print(p^q, !p);

private void print(boolean left, boolean right)
{
    System.out.println((left?1:0) + "\t" + (right?1:0))
}