sách gpt4 ai đã đi

Vòng lặp while của Android

In lại 作者:塔克拉玛干 更新时间:2023-11-02 22:22:30 26 4
mua khóa gpt4 Nike

嗨,这是我的第二个问题。我有下表

|-----|-------|------|------|
|._id.|..INFO.|.DONE.|.LAST.|
|..1..|...A...|...N..|......|
|..2..|...B...|...Y..|..L...|<--- cursor.moveToPosition((int)_id-1);
|..3..|...C...|...Y..|......|
|..4..|...D...|...Y..|......|
|..5..|...E...|...N..|......|
|..6..|...F...|...N..|......|
|-----|-------|------|------|

我使用代码:

cursor = db.query(TABLE_NAME, new String[]{INFO,DONE,LAST},null,null,null,null,null);
cursor.moveToPosition((int)_id-1);
String Yval = cursor.getString(cursor.getColumnIndex(DONE));
LÀM
{
cursor.moveToNext();
Yval= cursor.getString(cursor.getColumnIndex(DONE));
}
while (Yval=="Y");
s = Yval;

我最初将光标指向我访问的最后一行,然后我循环遍历 DONE 列中的值,如果该列的行中有 Y,则不停止。当循环中出现 N 时,循环应该停止。但它不起作用。Yval 永远不等于“Y”。所以游标执行一个“moveToNext”然后退出循环,因为它不会将 Yval 读取为“Y”。(我也将所有内容都更改为整数。N 为 1,Y 为 0,但仍然无效)那么我在这里做错了什么?

1 Câu trả lời

所以如果你想比较Strings,你必须使用equals()phương pháp

while (Yval.equals("Y"));

你应该知道:

  • == 测试引用相等性。
  • equals 测试值是否相等。

所以你想测试 Yval Sợi dây 是否有 Y 值所以你必须使用 equals()phương pháp.

你的方法不起作用因为:

String data = "lorem";
data == "lorem" ==> FALSE
data.equals("lorem") == TRUE


还要确保您的光标具有有效的ĐƯỢC RỒI,因此您还需要添加条件cursor.moveToNext()Vì thế

cursor.moveToNext() && (Yval.equals("Y")

您还需要处理 cursor.moveToPosition((int)_id-1) 所以将其添加到条件中。

关于Android 做 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11348637/

26 4 0
Bài viết được đề xuất: android - logcat 错误中的 "Error reporting WTF"
Bài viết được đề xuất: Javascript 字符串比较
Bài viết được đề xuất: android - 我可以在 Android 中使用静态 TextToSpeech 吗?
Bài viết được đề xuất: javascript - addClass() 函数在 ajax 调用后不起作用
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com