java - 添加到对象的 ArrayList?
问题描述
对于初学者来说,这是给学校的。不是在寻找答案,但是在将日期和重量都添加到对象中然后将该对象添加到数组列表中时,我迷路了。
public void addEntry(String d, int w) {
Diet dietConstructor = new Diet();
entries = new Entry(d, w);
diet.add(entries);
}
此方法是添加到对象然后添加到数组列表中的方法。
我不确定它是否将对象错误地添加到数组列表中,或者当我尝试打印值时它只是调用最后输入并打印它。下面是我试图打印值的地方。
public void viewList()
{
String output = "";
weightDiff = 0;
for (int i = 0; i < diet.size(); i++)
{
weightLossOrGain = entries.getWeight();
System.out.print(" " + diet.get(i) + "\t ");
System.out.print(diet.get(i) + "\t ");
System.out.print(weightDiff + "\n\n");
weightLossOrGain -= entries.getWeight();
}
System.out.println("-------------------------------\n");
System.out.println("Net Weight Loss/Gain = " + weightLossOrGain + "\n");
System.out.println("-------------------------------\n\n");
}
解决方案
根据我从您的问题中了解到的情况,您正在重新使用条目作为对象来将对象添加到 ArrayList。
您正在正确地将对象添加到 ArrayList 中,那里没有错误。
您实际上并没有从 ArrayList 访问权重,而是访问了最后一个对象的权重,这就是为什么您只是获取最后一个对象的值。
我在这里没有正确理解您的最终目标。但这是您应该在 viewList 函数中修改的内容:
weightLossOrGain -= diet.get(i).getWeight();
推荐阅读
- c# - 使用 .NET Standard 2.0 生成 PDF 文档
- python - 有没有办法解析这个 html 表单?
- tensorflow - 成功构建图形张量流工具后符号查找错误
- docker - 如何强制 docker compose 重新创建手动删除的卷?
- python - 如何创建一个接受用户输入的子程序?
- laravel - Laravel 在上传视频时出错
- python - 如何从文本文件中提取特定文本
- python - 如何在 python 3 中设置 on_delete=models.CASCADE 默认值?
- instagram-api - 如何使用 API 从 # 中获取多张 Instagram 图片
- javascript - 成功调用 axios 后,Vue.js 组件不会发送到父级