[英]Use boolean method to determine output
我试图让用户为三行中的每一行输入三个数字。 然后分别将第 1、2 和 3 列的值相加。 如果所有 3 列的值独立地加起来为 1,则应使用布尔方法打印出“是”。 我不知道如何让布尔方法工作,而且这里的例子都没有足够具体来帮助我。 关于我可以做些什么来让它正常工作的任何想法?
import java.util.*;
public class MarkovMatrix {
public static void main(String[] args) {
//Initializing all arrays
double[] FirstRow = new double[3];
double[] SecRow = new double[3];
double[] ThirdRow = new double[3];
double[] ColSum = new double[3];
Scanner input = new Scanner(System.in);
//Getting input from user
System.out.print("Enter first Row: ");
for(int i = 0; i < FirstRow.length; i++){
FirstRow[i] = input.nextDouble();
}
System.out.print("Enter Second Row: ");
for(int j = 0; j < SecRow.length; j++){
SecRow[j] = input.nextDouble();
}
System.out.print("Enter Third Row: ");
for(int k = 0; k < ThirdRow.length; k++){
ThirdRow[k] = input.nextDouble();
}
// Summing all columns
ColSum[0] = FirstRow[0] + SecRow[0] + ThirdRow[0];
ColSum[1] = FirstRow[1] + SecRow[1] + ThirdRow[1];
ColSum[2] = FirstRow[2] + SecRow[2] + ThirdRow[2];
boolean isMarkovMatrix;
if(isMarkovMatrix = true)
System.out.println("Matrix is a Markov Matrix");
}//End of main
public static boolean isMarkovMatrix(ColSum double) {
if(ColSum[0] = 1 && ColSum[1] = 1 && ColSum[2] = 1)
return true;
}
}
语句if(isMarkovMatrix = true)
将始终被评估为 true ,因为您将true
分配给isMarkovMatrix
。 相反,你应该这样做:
if(isMarkovMatrix == true)
或者甚至更好,只是
if(isMarkovMatrix)
编辑:在您的isMarkovMatrix
方法签名中,您需要先放置数据类型,然后isMarkovMatrix
变量。
此外, =
是赋值运算符, ==
是您要在此方法中使用的正确比较运算符。
public static boolean isMarkovMatrix(double[] ColSum) {
if (ColSum[0] == 1 && ColSum[1] == 1 && ColSum[2] == 1)
return true;
return false;
}
顺便说一句:你真的想比较 double 和 integer 吗? 为什么不直接使用整数?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.