gpt4 book ai didi

java - 根据用户输入迭代 ArrayList 附加值

转载 作者:行者123 更新时间:2023-12-01 11:35:00 25 4
gpt4 key购买 nike

我正在尝试编写一种方法,根据用户输入一次更改 ArrayList 中所有对象的值。用户通过对话框输入一个值,然后将其转换为整数并分配给一个值。

该列表称为studentList,并用Student 对象填充。这些对象有一个名称和一个称为 Result 的 int 值。我当前的问题是,对话框中的第一个输入值会立即添加到所有变量中,并且任何后续条目都不起作用。我需要的是第一个条目更改第一个对象的值,然后通过列表移动到下一个对象并请求用户的另一个输入,依此类推。

我正在使用定制的 Dialog.request 导入框架来获取用户输入。只需考虑这些行意味着将出现一个弹出对话框并请求用户以字符串形式输入

这是我的方法,它位于一个名为 Group 的类中

public void recordResult()
{
int inputResult;
String inputString;
inputString = Dialog.request("Please Enter A Result");
inputResult = Integer.parseInt(inputString);


for(Student s : studentList)
{
s.setResult(inputResult);
inputString = Dialog.request("Please Enter Another Result");
}

}

我认为问题出在 for 循环中。

我尝试排除任何不必要的代码,只包含我正在尝试实现的方法。其他需要假设 setResult 方法存在于 Student 类中并且已填充 StudentList 的情况。提前致谢,我希望这只是一个小小的调整

最佳答案

该行为是预期的,因为 inputResult 仅根据第一个 inputString 计算一次。您应该将对话请求放入循环内,如下所示:

 public void recordResult()
{
int inputResult;
String inputString = null;

for(Person : aList)
{
if (inputString == null) {
inputString = Dialog.request("Please Enter A Result");
} else {
inputString = Dialog.request("Please Enter Another Result");
}
inputResult = Integer.parseInt(inputString);
s.setResult(inputResult);
}

}

关于java - 根据用户输入迭代 ArrayList 附加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30090280/

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