2016-08-18 5 views
0

Javaを実践しているうちに、論理演算子のプログラムはTruth Tableでした。 今、私は真と偽の代わりに1と0を表示する方法を理解できません。ここで私は何をしなければならないので、プログラムは真と偽の代わりに1と0を出力するでしょうか?

は私のコードです:

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

} 
+7

次のようにあなたが行うことができますか? 1:0' – ByeBye

+4

'printRow(boolean p、boolean q)'メソッドを定義して、4回繰り返してはいけません。 –

答えて

4

代わりのライン以下:

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

あなたは `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)) 
} 
+1

これらの3行は常に同じように見えるので、私は3つのプリントをすべてこのメソッドに入れ、 'print(p、q)'を使ってコードをもう一度書き直します。あるいは、このメソッドを3回だけ呼び出す3つの 'print'呼び出しのすべてで別のメソッドを作成してください。 – SomeJavaGuy

+0

はい、同意します。 'loc'を減らすでしょう。 – Azodious

+1

OPのコードの行の分割は完全に任意です。私は 'System.out.printf("%s \ t%s \ t%s \ t%s%n "、f(p)、f(q)、f(p && q)、f '' f''は '{0,1}'にブール値をマッピングする関数です。 –

関連する問題