Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 二元运算真值表_Java_Boolean_Truthtable - Fatal编程技术网

Java 二元运算真值表

Java 二元运算真值表,java,boolean,truthtable,Java,Boolean,Truthtable,我不熟悉编码。在网上学习一门课程,由于某种原因,我本周无法掌握实验室的知识。我们需要创建一个真值表。一个代表和一个代表或。有些代码是给我们的,我们的想法是使用布尔函数 这就是我到目前为止所拥有的。。不多,但任何指导都将不胜感激。还有,请温柔一点……我每周都会计算出实验室的数据,但出于某种原因,我只是没有掌握这一点 public class TruthTables { public static void printTruthTableValue(boolean p, boolean q

我不熟悉编码。在网上学习一门课程,由于某种原因,我本周无法掌握实验室的知识。我们需要创建一个真值表。一个代表和一个代表或。有些代码是给我们的,我们的想法是使用布尔函数

这就是我到目前为止所拥有的。。不多,但任何指导都将不胜感激。还有,请温柔一点……我每周都会计算出实验室的数据,但出于某种原因,我只是没有掌握这一点

public class TruthTables {

    public static void printTruthTableValue(boolean p, boolean q, String 
    logicalOperation)}

        printTruthTableValue(true,true, logicalOperation);
        printTruthTableValue(true,false, logcialOperation);
        printTruthTableValue(false,true, logcialOperation);
        printTruthTableValue(false,false, logicalOperation);
    }   
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        printTruthTable("and");
        System.out.println();
        printTruthTable("or");
    }
需要对输出进行修改

p  q  p AND q
-------------
T  T  T
T  F  F
F  T  F
F  F  F
而那是为了或是

p  q  p OR q
-------------
T  T  T
T  F  T
F  T  T
F  F  F

正如胸腺嘧啶所说,您似乎缺少
printTruthTable
的定义,而
printTruthTableValue
的定义似乎是递归的,有点混乱。如果你有更多关于这个问题的信息,这也会很有帮助。然而,我想你想要的是:

public class TruthTables {

    public static void printTruthTable(String logicalOperation) {
        boolean rows[][] = {{true, true, false},
                            {true, false, false},
                            {false, true, false},
                            {false, false, false}};

        if (logicalOperation.equals("and")) {

            System.out.println("p  q  p AND q");
            System.out.println("-------------");

            for (boolean[] row : rows) {
                row[2] = row[0] && row[1];
            }

        } else if (logicalOperation.equals("or")) {
            // A similar sort of thing...

        } else {
            throw new IllegalArgumentException("Not a valid boolean operator");
        }

        // Print table

        for (boolean[] row : rows) {
            StringBuilder sb = new StringBuilder();

            for (boolean value : row) {
                sb.append(value ? "T " : "F ");
            }

            System.out.println(sb);
        }
    }


    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        printTruthTable("and");
        System.out.println();
        printTruthTable("or");
    }
}

你的意思是用Java而不是javascript来标记它吗?另外,您的代码示例似乎缺少
printTruthTable
的定义,您尝试了什么?你有什么特别的问题?对我来说,这段代码看起来像是初始任务的输入(我可能错了)。我们不能为你做家庭作业,你需要一些投入来开始帮助你。