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

这里是新的 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;


}

我的吸气剂如下:


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" ?


30秒到达战场
浏览 213回答 2
2回答

慕容708150

你可以试试这个:if (menuOption == 5) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; double sum = 0;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for(int i = 0; i < listOfLogs.size() ; i++){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sum += listOfLogs.get(i).getHours();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return sum;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }所做的更改:在包含日志对象的for循环i<(size of the listOfLogs List)中。然后,您必须遍历每个 Logs 实例并获取小时数并将其添加到 sum 中。

慕村225694

将总和保持在循环之外。这将允许它被更新。如果它保留在循环内,它将在每次迭代时始终重置:if (menuOption == 5) {&nbsp; double sum = 0;&nbsp; for(Logs aLog : listOfLogs) {&nbsp; &nbsp; &nbsp; sum += aLog.getHours();&nbsp; &nbsp;&nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java