Java “赋值的左侧必须是变量”,带int和boolean

Java “赋值的左侧必须是变量”,带int和boolean,java,if-statement,boolean,int,Java,If Statement,Boolean,Int,我必须为此写下条件: last_page = ((nl.getLength() == 0) -= 1); 在这一行中,我遇到以下错误: 作业的左侧必须是 变数 这是我的代码: int current_page = 25; boolean last_page; int prev_page; int next_page; NodeList nl = doc.getElementsByTagName(KEY_SONG); prev_page = (current_page -= 1); ne

我必须为此写下条件:

last_page = ((nl.getLength() == 0) -= 1);
在这一行中,我遇到以下错误:

作业的左侧必须是 变数

这是我的代码:

    int current_page = 25;
boolean last_page;
int prev_page;
int next_page;
NodeList nl = doc.getElementsByTagName(KEY_SONG);
prev_page = (current_page -= 1);
next_page = (current_page += 1);

只需使用此选项即可:

last_page = nl.getLength() -1;
您得到的错误是因为nl.getLength==0,因为它将返回布尔值true或false,因此您不能进行减法和任何其他算术运算,如加法、乘法等。布尔值中的任何数字都没有这样的意义:true-1或false+1

nl.getLength==0部分计算为布尔值,不能从中减去1。

double==符号是一个比较运算符。基本上,您正在检查nl.getLength是否为0。这将为您提供布尔值True或False

-=符号表示减量。所以someVar-=1将尝试从someVar的值中减去1

不能从布尔值中减去数字,因为它们是不同的类型。这就是你出错的原因

因为您将最后一页声明为布尔值,并且您提到了一个if语句,所以我假设您希望检查您是否在最后一页。这样做的代码如下:

last_page = (current_page == (nl.getLength() - 1)); //is the current page the last page?
请记住,在Java中,索引从0开始,一直到长度-1。此语句将检查当前页面是否是nl的最终索引。看,nl.getLength==0不是变量,它是一个表达式,就像1+1一样。然而,运算符-=不是一个表达式,它要递减一个变量,即取变量的值,修改它并写回。你怎么能写回一个表达式呢

合适的CS术语应该是左值:一个您不仅可以读取,还可以写入的值。像nl.getLength==0这样的表达式不是左值,但是像-=这样的运算符希望左值能够修改它。这就是错误消息的基本意思


相反,,在您的第二个示例中,当前页面是左值。

但最后一个页面被声明为Boolean。我开发了一个使用xml解析的android listview示例。这里我必须隐藏最后一个页面上的按钮。我使用此条件意味着在空页面上隐藏按钮。ifnl.getLength==0…但希望隐藏最后一个页面上的按钮。那么我如何隐藏该按钮呢最后一页的按钮。请给我解决方案this@user1780331我不知道你的意思。如果您想查看最后一页,我和其他几个人编写的代码可以工作。如果您已经知道如何在nl.getLength==0时隐藏按钮,那么对于If last_页面,它是完全相同的。如果您不知道如何隐藏此按钮,则我建议您提出一个新问题以寻求帮助。int last_page;另外,行上方的更改意味着我在该if循环中遇到以下错误:if最后一页{btnLoadMore.setVisibilityView.GONE;pDialog.disclose;}类型不匹配:无法从int转换为boolean,而是应该在循环中编写iFast_page>any_number我开发了一个使用xml解析的android listview示例。这里我必须在lastpage上隐藏按钮。我使用了此条件意味着在空页上隐藏按钮。ifnl.getLength==0…但希望在最后一页。那么我如何隐藏最后一页上的按钮。请给我解决方案,然后我如何找到最后一页的值?你不希望它像其他人建议的那样是nl.getLength-1吗?哦,我明白了-最后一页是一个标志!然后只需执行last_page=current_page==nl.getLength-1;我开发了一个使用xml解析的android listview示例。在这里,我必须隐藏最后一页上的按钮。我使用了此条件意味着隐藏空白页上的按钮。ifnl.getLength==0…但希望隐藏最后一页上的按钮。那么,我如何隐藏最后一页上的按钮。请给我此问题的解决方案-似乎您已经更改了您的这里有一个完全不同的问题。最好创建一个新问题,而不是更改当前问题,因为所有已给出的答案都与您的新问题不匹配