新的Java开发人员在这里,请多多包涵。
我当前正在创建一个基本程序,它将接收用户输入并将其存储在数组列表中。阵列列表中有一些支持日志,我正在尝试计算所有支持日志条目所花费的总时间。
这是我的数组列表和记录:
const email = user.email;
const displayName = user.displayName;
列表中的第五个值是小时数(分别为3和4)。
这是我目前尝试的方法,但是没有用:
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));
我的吸气剂如下:
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);
}
}
如何添加值,以使其总显示为“ 7.0”?
答案 0 :(得分: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对象。然后,您必须遍历每个Logs实例并获取小时数,并将其加和。
答案 1 :(得分:0)
将总和保持在循环之外。这将允许它进行更新。如果仍保留在循环中,它将始终在每次迭代中重置:
if (menuOption == 5) {
double sum = 0;
for(Logs aLog : listOfLogs) {
sum += aLog.getHours();
}
}