我正在一个类中编写一个方法,从main中检索一个数组和一个集值。其目的是定位给定值的位置并将其返回到main(如果该值在它返回的数组中不存在-1)。我的问题是:当我运行代码时,java说:int不能转换为boolean。并指向下面代码中的if语句。我试着把“=”-符号转换成“>=”,然后它运行得很平稳(但是它不能像预期的那样工作……)。有人知道为什么我想把它转换成布尔值吗?
public static int containsIntElement(int[] A, int val)
{
int pos = -1;
for (int i = 0; i < 10; i++)
{
if(A[i] = val)
{
pos = i;
}
}
return pos;
}
3条答案
按热度按时间pieyvz9o1#
正确的评估方法
int
s是==
,不是=
:这个
=
运算符用于指定任务,所以在你在赋值
val
到变量A[i]
,这不是一个条件qoefvg9y2#
请注意小细节
svujldwt3#
你用
=
(赋值运算符)您打算使用==
(比较运算符)。if所做的是:分配
val
至A[i]
然后尝试(但失败)从A[i]
(命名约定也表示A
应为小写)