gpt4 book ai didi

java - java字符串数组越界

转载 作者:太空宇宙 更新时间:2023-11-04 09:58:37 25 4
gpt4 key购买 nike

我面临一个问题,我无法从 ArrayList 中获取元素并将它们推送到我的新字符串数组中。其实我现在感觉很失落。收到越界异常,但通过 id 检查打印元素后一切正常?顺便说一句,我的 darbuotojuArray 看起来像这样:

Programuotojas: X X 1 X

这是我的代码:

public String[] renkantDarbuotojus() {
String[] darbuotojaiIKomanda = new String[2];
if (darbuotojuArray.size() == 0) {
System.out.println("Nera darbuotoju kuriuos butu galima prideti i komanda.");
System.out.println("Pridekite nauju darbuotoju");
meniu.valdiklis();
} else {
for (int i = 0; i < darbuotojuArray.size(); i++) {
System.out.println("ID: " + i + " " + darbuotojuArray.get(i));
}
System.out.println("Pasirinkite pirmaji darbuotoja pagal ID");
Scanner SI = new Scanner(System.in);
int userSelects = Integer.parseInt(SI.nextLine());
darbuotojaiIKomanda[0] = String.valueOf(darbuotojuArray.get(userSelects));
darbuotojuArray.remove(userSelects);
System.out.println("Pasirinkite antraji darbuotoja pagal ID");
int userSelects2 = Integer.parseInt(SI.nextLine());
darbuotojaiIKomanda[1] = String.valueOf(darbuotojuArray.get(userSelects2));
darbuotojuArray.remove(userSelects2);
}
return darbuotojaiIKomanda;
}

最佳答案

因此,您将从列表中删除一个项目darbuotojuArray.remove(userSelects);,这将更改所有 ID。您要么需要再次打印列表,以便用户可以选择正确的 ID,要么您可以执行以下操作:

 int userSelects2 = Integer.parseInt(SI.nextLine());
if(userSelects2 == userSelects)
System.out.println("Error, ID has been removed");
else if(userSelects2 > userSelects)
userSelects2 = userSelects2 -1;

关于java - java字符串数组越界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53785682/

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