这是我的代码,我在这里看到我在每行之间附加一个逗号。对于最后一行,我想添加句号而不是逗号,任何关于我如何做到这一点的想法?
while(!cursor2.isAfterLast()) {
String mIngredientName = cursor2.getString(1) + ", " ;
al.add(mIngredientName);
cursor2.moveToNext();
}
我有一个想法,它涉及if语句,但我不确定任何指导?
答案 0 :(得分:1)
您现在正在测试“if isAfterLast()”。相反(或另外 - 您的选择)测试“if isLast()”。 “isLast()”之前的所有内容都会得到一个逗号,“isLast()”会获得一个句点...然后关闭光标。
实施例
while(!cursor2.isLast()) {
String mIngredientName = cursor2.getString(1) + ", " ;
al.add(mIngredientName);
cursor2.moveToNext();
}
String mIngredientName = cursor2.getString(1) + "." ;
al.add(mIngredientName);
答案 1 :(得分:1)
while(!cursor2.isLast()) {
String mIngredientName = cursor2.getString(1) + ", " ;
al.add(mIngredientName);
cursor2.moveToNext();
}
String mIngredientName = cursor2.getString(1) + ". " ;
al.add(mIngredientName);
答案 2 :(得分:0)
while(!cursor2.isAfterLast()) {
char delimitor = (if !cursor2.isLast())? "," : ".";
String mIngredientName+= cursor2.getString(1) + delimitor ;
al.add(mIngredientName);
cursor2.moveToNext();
}
答案 3 :(得分:0)
对于仅含有一种成分(!)的“食谱”,以下情况也可以正常使用:
cursor2.moveToFirst();
StringBuilder strBuilder = new StringBuilder(cursor2.getString(1));
while(!cursor2.isLast()){
cursor2.moveToNext();
strBuilder.append(", ").append(cursor2.getString(1));
}
strBuilder.append('.');
String allIngredients = strBuilder.toString();
请注意,使用StringBuilder对字符串连接更有效。