gpt4 book ai didi

java - 编译错误: "not a statement"

转载 作者:行者123 更新时间:2023-11-30 04:36:36 26 4
gpt4 key购买 nike

这是代码片段:

boolean nodesFiltered = false;

filterSet = newNodeSet;
int filterSize;
int i;

for (; predIter.hasNext(); i < filterSize)
{
eachPred = (Predicate)predIter.next();

filterSize = filterSet.size();

i = 0; continue;

contextNode = filterSet.get(i);

if (contextNode != null)
{
List list = new ArrayList(1);

list.add(contextNode);

predContext.setNodeSet(list);

predContext.setPosition(i + 1);
predContext.setSize(filterSize);

predResult = eachPred.evaluate(predContext);

上面写着i < filterSize)编译器说我有一个错误...它说这不是一个语句...

最佳答案

事实上,这一行是不正确的:

for (; predIter.hasNext(); i < filterSize)

在 Java (以及所有其他 C 语法语言)中 for statement具有以下结构:

for(initialization; termination; increment) {
statements...
}

地点:

  • 初始化 语句在循环开始时调用一次

  • termination boolean 表达式 在每次迭代之前进行评估。如果返回 false,则循环终止

  • increment 语句在每次迭代后调用。

实际上,每个 for 循环都可以表示为 while 循环:

initialization;
while(termination) {
statements;
increment;
}

正如您在代码片段中看到的 increment block 是一个 boolean 表达式(返回 boolean),而它应该是一个语句(它应该“做”一些事情,例如增加一些变量)。这就是编译器想要表达的意思。

关于java - 编译错误: "not a statement",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13365835/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com