所以我是编码新手,我正在尝试与arraylists合作。基本上在这个用户只输入一个字母,程序只显示这些字母的编号列表。我正在努力弄清楚如何通过它的索引删除一封信。这是代码示例:
String letter = letterInput.getText();
for (int i = 0; i < lettersList.size(); i++)
{
String letterListIndex = lettersList.get(i);
if (letterListIndex.contains(letter));
{
lettersList.remove(letter);
}
}
此代码似乎只是删除每隔一个字母,而不删除输入的数字。我一直在做的测试是输入:
&#34; 1。 H 2. B 3. K. L 5. J&#34;
如果我尝试通过输入4来删除L,它会删除1. H,3。K和5. J.我希望这有意义。
总的来说,我想知道如何通过它的索引号删除列表项。谁能帮我吗?
答案 0 :(得分:1)
您正在传递remove
一个String
。如果要按索引删除,则需要int
。
废弃您的第一个完整for
循环,然后执行:
int letterIndex = Integer.parseInt(letterInput.getText());
lettersList.remove(letterIndex);
这是您需要的所有代码
如果我有lettersList
:{"H", "B", "K", "L", "J"}
我需要做的就是致电lettersList.remove(4-1)
(-1表示1个索引),lettersList
现在是:{"H", "B", "K", "J"}
答案 1 :(得分:-2)
试试这个:
public static void main(String[] args) {
int index = 4;
String str = "abcdef";
String result;
if (str.length()>index);
{
result = str.substring(0, index) + str.substring(index+1);
}
System.out.println(result);
}
索引var是输入,它基于0。因此,如果您希望基于1,则可以设置index = index + 1