Java - 使用 getters 从 arraylist 添加特定索引

Java - Adding specific indexes from arraylist using getters

这里是新 java 开发者所以请多多包涵。

我目前正在创建一个基本程序,它将接受用户输入并将它们存储在数组列表中。数组列表中有一些支持日志,我正在尝试计算所有支持日志条目花费的总小时数。

这是我的数组列表和记录:

import java.util.Scanner;
import java.util.ArrayList;

public class Main {

public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);


    ArrayList<User> listOfUsers = new ArrayList<>();
    ArrayList<Customer> listOfCustomers = new ArrayList<>();
    ArrayList<Logs> listOfLogs = new ArrayList<>();


    listOfUsers.add(new User("janedoe@gmail.com", "Jane Doe", "testABC"));

    listOfLogs.add(new Logs(11, 24, 05, 2018, 3, 280.04));
    listofLogs.add(new Logs(12, 12, 09, 2018, 4, 290.11));

列表中的第五个值是小时数(分别为 3 和 4)。

这是我目前尝试的方法,但没有用:

if (menuOption == 5) {

    double sum = 0;
    for(int i = 0; i < l.getHours(); i++)
    sum += l.get(i);
    return sum;

}

我的getter如下:

public int getHours() {
    return this.hours;
}

感谢大家的支持,在此先致谢。

编辑:所以在发布了一些答案之后,我设法遍历了列表并获得了小时值,如下所示:

  if (menuOption == 5) {

    for(Logs aLog : listOfLogs) {

        double sum = 0;

        sum += aLog.getHours();

        System.out.println(sum);      
    }
  }

我得到以下输出:

3.0
4.0

如何添加这些值,使它们的总数显示为“7.0”?

你可以试试这个:

if (menuOption == 5) {

                        double sum = 0;
                        for(int i = 0; i < listOfLogs.size() ; i++){
                        sum += listOfLogs.get(i).getHours();
                        }
                        return sum;

                    }

所做的更改:

在包含日志对象的 for 循环中 i<(size of the listOfLogs List)。然后,您必须遍历每个 Logs 实例并获取小时数并将其添加到总和。

将总和保留在循环之外。这将允许它被更新。如果它保留在循环内,它将始终在每次迭代时重置:

if (menuOption == 5) {
  double sum = 0;
  for(Logs aLog : listOfLogs) {
      sum += aLog.getHours();   
  }
}