试图将一堆C++代码转换为Java - if语句

sha*_*t13 1 c++ java opencv operators javacv

我试图将一些C++代码编写到java中,现在我已经将代码写入java但是它会抛出错误!

if(ShapeNotFound && xd*yd - nPixel[k] < xd+yd)              // Condition for RECTANGLE
{

    System.out.print("\n      "+in+"  \t     Rectangle \n");
    fileWriter3.write("\n      "+in+"  \t     Rectangle \n");
    Shape[k] = 2;
    ShapeNotFound = 0;

}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

The operator && is undefined for the argument type(s) int, boolean
Run Code Online (Sandbox Code Playgroud)

请帮忙,告诉我如何在java中正确编写上述条件

Tim*_*m B 5

C和C++都假设对于整数,0为假,所有其他值均为真.

Java没有做出相同的假设,因此您需要在表达式中添加对int!= 0的检查,即:

if((ShapeNotFound!=0) && (xd*yd - nPixel[k] < xd+yd))    
Run Code Online (Sandbox Code Playgroud)

或者,您的ShapeNotFound变量应该是boolean类型而不是int类型.

将变量名称等转换为Java样式指南也是值得的.