为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

30秒到达战场 2021-08-13 16:12:24
这里是新的 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.04.0我如何添加这些值,以便它们总共显示为 "7.0" ?
查看完整描述

2 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

你可以试试这个:


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 实例并获取小时数并将其添加到 sum 中。


查看完整回答
反对 回复 2021-08-13
?
慕村225694

TA贡献1880条经验 获得超4个赞

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


if (menuOption == 5) {

  double sum = 0;

  for(Logs aLog : listOfLogs) {

      sum += aLog.getHours();   

  }

}


查看完整回答
反对 回复 2021-08-13
  • 2 回答
  • 0 关注
  • 212 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信