TEL:400-8793-956
当前位置:程序、服务器

我没有在while循环中忘记playHoldMusic()。我还使用poll()删除了csr。仍然错误

提问者: 近期获赞: 浏览人数: 发布时间:2021-02-05 10:00:17

 问:我的代码有什么问题?

 
 呼叫中心
进口 java.util.ArrayDeque ; 
导入 java.util.Queue ; 
公共类CallCenter {队列< CustomerSupportRep > mSupportReps ; 公共呼叫中心(队列< CustomerSupportRep >队列){ mSupportReps =队列; } public void acceptCustomer (客户客户){ CustomerSupportRep csr = new CustomerSupportRep (
      
        “ Eirin” );
mSupportReps 。加(csr ); / ********************************************      * TODO(1)     *等待直到队列中有可用的代表。     *虽然没有可用的,但playHoldMusic      *提示:虽然我们过去用来      读取文件的Assignmentcheck循环语法似乎非常相似     ************************ ********************      * / ,而((CSR = mSupportReps 。轮询())==空){ playHoldMusic (); } //mSupportReps.poll();    
 
    
    / ******************************************** 
     * TODO(2)
     *在分配代表之后,请调用
     *协助方法并传递客户
     ******************************** ************ 
     * / 
csr 。协助(客户);/ ********************************************      * TODO(3)     *由于客户支持代表是在     *协助下完成的,因此请将他们放回队列中。     ************************************************      * / mSupportReps 。加(csr ); } public void playHoldMusic
 
    () {
系统。出来。println (“ Smooooooth Operator .....” ); } }    
 
 CustomerSupportRep.java
导入 java.util.List ; 
导入 java.util.ArrayList ; 
公共类CustomerSupportRep { private String mName ; 私人名单<客户> mAssistedCustomers ; public CustomerSupportRep (字符串名称){ mName =名称;mAssistedCustomers =新的ArrayList <客户>(); }公共无效协助(客户客户
 
     ) {
系统。出来。的printf (“%s您好,我的名字是%S,我怎么能帮助您%N” ,顾客。的getName (),MNAME ); 系统。出来。println (“ ...” ); 系统。出来。println (“还有什么可以帮助您的吗?” );mAssistedCustomers 。添加(客户); }公开列表<客户> getAssistedCustomers    
                      
    () {
返回mAssistedCustomers ;} }     
  
 
 客户.java
公共 类 Customer  {
私有字符串mName ; 公共客户(字符串名称){ mName =名称; } public String getName (){ return mName ; } }    
 
 
答:我将解释发生了什么,希望您能理解。
 
在acceptCustomer()方法的最顶端,我们要检查队列中是否有客户支持代表。正如您在代码中看到的那样,要做的第一件事是创建一个新的客户支持代表,然后将其添加到队列中。这不是您期望/想要做的挑战。
 
我们不会成为创建新的客户支持代表或其他人员的人。我们的代码着重于确保队列中有人,然后处理队列中是否有人的情况。我们仅在确定队列中有客户代表之后才初始化该csr变量。
 
如您所见,您手动添加了一个客户代表,并将其分配给了csr。csr应该通过poll()分配
 
这是第一部分的样子:
 
while(mSupportReps.poll()== null){
       playHoldMusic();
    }
如您所见,我们直接引用队列,并检查队列中是否有人。如果为空,则播放音乐。
 
现在,如果我们的客户代表队列中有一个人,那么我们将他们从队列中拉出,并将其分配给我们的csr变量,如下所示,然后在此之后调用aid()方法:
 
csr = mSupportReps.poll();
    csr.assist(客户);
其余的代码则正确地将其记录下来。
 
上一篇: 无法理解Playlist.prototype.play和Playlist.Prototype.stop函数中的.play()和.stop()
下一篇: 有关$ {controller.timerText}的问题