Java 如何对链表的所有节点中的特定整数变量求和?

Java 如何对链表的所有节点中的特定整数变量求和?,java,linked-list,nodes,Java,Linked List,Nodes,我有两个链接列表中的客户对象,队列和服务。每个人都有派对规模的变量。服务队列具有随机分配的等待时间。我需要一个函数来求和并返回队列中的客户数。我认为这意味着对等待列表LinkedList中每个Customer对象中表示参与方大小的整数求和 我需要一个函数来求和并返回服务的客户总数。这可能意味着将指示服务客户对象的LinkedList中每个客户对象内参与方大小的整数相加 我不知道下面哪一个链接适合我的情况。尽管如此,我还是尝试了,但都未能成功实施 For循环: 通过迭代和递归: 我没有得到任何

我有两个链接列表中的客户对象,队列和服务。每个人都有派对规模的变量。服务队列具有随机分配的等待时间。我需要一个函数来求和并返回队列中的客户数。我认为这意味着对等待列表LinkedList中每个Customer对象中表示参与方大小的整数求和

我需要一个函数来求和并返回服务的客户总数。这可能意味着将指示服务客户对象的LinkedList中每个客户对象内参与方大小的整数相加

我不知道下面哪一个链接适合我的情况。尽管如此,我还是尝试了,但都未能成功实施

For循环:

通过迭代和递归:


我没有得到任何结果,因为我无法生成合理的、语法无错误的代码。运行时错误可能是progress。

LinkedList中的Customer对象具有以前定义的
getWait()
getParty()
方法,用于获取随机分配的等待时间值和对象的参与方变量大小

函数必须采用链表

使用LinkedList类的getFirst方法获取LinkedList中的第一个元素

您可以使用累加器变量来获取总和

使用
n!=无效
n=n.next
作为for循环中的停止条件和迭代

Customer n=(Customer)ll.getFirst()开始。使用n的时间更短,需要显式强制转换。可能是因为函数不知道两个链接列表都有客户类型元素

返回链接列表中的等待总数:

public int sumWait(LinkedList ll){
         int sumWait = 0;
         for(Customer n = (Customer) ll.getFirst(); n != null; n = n.next){
             sumWait = sumWait + n.getWait();
         }
         return sumWait;
     }
返回链接列表中参与方的总和

     public int sumCust(LinkedList ll){
         int sumCust = 0;
         for(Customer n = (Customer) ll.getFirst(); n != null; n = n.next){
             sumCust = sumCust + n.getParty();
         }
         return sumCust;
     }

尝试使用forEach循环。尝试将整个问题弄清楚。您引用的是一个自定义linkedlist实现,但未提供任何相关信息。我认为我提供了大量信息。也许从你的角度看,你更容易发现你遗漏了什么。我显然已经掌握了所有的信息。你能帮我弄清楚关于我的链表的哪些附加信息会有帮助吗?为了实现先进先出队列,你可以使用一个双端队列,一个。创建
Deque customersWaiting
,其中Party是一个类,表示numCustomers、到达时间、服务时间和计算等待时间的函数。因此,等待的客户数是
customerWaiting.stream().mapToInt(party->party.getNumCustomers()).sum()。这只是一个例子,有很多方法可以实现这一点。理想情况下,可以使问题更清楚的附加信息将以。提供一个高质量的示例来实现所提供链接中的所有建议有时是很困难的,并且可能需要做很多工作。大多数新的提问者似乎要么极力挣扎于此,要么只是忽略了链接中的许多建议。但是,有些人做对了,得到了高质量的帮助。这看起来不像是一个答案。。我以为这是惩罚问题答案的一种方式。没有人说答案是错的,更不用说为什么了。我没有看到任何语法错误。我还没有检查任何运行时错误或结果中的错误。为什么答案是错的?我应该删除答案吗?尽管有这么多的处罚,我不确定我是因为什么而被处罚的,也不知道如何改变我的行为。不-我(错-)把它看作是对你问题的澄清,我的错;)将撤回否决票。。
public int sumWait(LinkedList ll){
         int sumWait = 0;
         for(Customer n = (Customer) ll.getFirst(); n != null; n = n.next){
             sumWait = sumWait + n.getWait();
         }
         return sumWait;
     }
     public int sumCust(LinkedList ll){
         int sumCust = 0;
         for(Customer n = (Customer) ll.getFirst(); n != null; n = n.next){
             sumCust = sumCust + n.getParty();
         }
         return sumCust;
     }