计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

免费基于J2ME的公交查询系统的设计与实现(一)(6)

2013-06-26 01:16
导读:r(); while(key1.hasNext()){ while(key2.hasNext()){ if(zhida.isEmpty()){ String sop1=(String)key1.next(); String sop2=(String)key2.next(); zhida=zhida(sop1,sop2); } //内层break if(!zhida.isEmpty()){
r();
     while(key1.hasNext()){
      while(key2.hasNext()){
       if(zhida.isEmpty()){
        String sop1=(String)key1.next();
        String sop2=(String)key2.next();
        zhida=zhida(sop1,sop2);
       }
       //内层break
       if(!zhida.isEmpty()){ 
        System.out.println("找到中途换乘"+zhida.size());
        break;
       }
      }
      //外层break
      if(!zhida.isEmpty()){
       System.out.println("break2"+zhida.size());
       break;
      }
     }
 找到一条可行的线路后,再开始查找起点到转乘点1的线路和转乘点2到重点的线路,并放到一个String中:
 //第1站到第2站的车号
      while(one2two.iterator().hasNext()){
       System.out.println("step3");
       nonstop2=(Nonstop)one2two.iterator().next();
                   busno1+=nonstop2.getBusno()+",";
       }
         //第3站到第4站的车号
     while(three2four.iterator().hasNext()){
       System.out.println("step4");
       nonstop3=(Nonstop)three2four.iterator().next();
(科教作文网http://zw.ΝsΕac.cOM编辑)

       busno2+=nonstop3.getBusno()+",";
      }
 最后把起点到第一换乘站,第一换乘站到第二换乘站,第二换乘站到终点站3段线路连接到一个String中并将改String添加到集合中,最后返回该集合:
      result="从"+stop1+"站出发,乘坐"+busno1+"到"+huanchengstop1+"站转"+nonstop.getBusno()+"到"+
            huanchengstop2+"站转"+busno2+"到"+stop2;
      twohg.add(result);
      System.out.println("find one");
     }catch(Exception e){
      e.printStackTrace();
     }
   return twohg;
 本算法采用了3个bean来保存3段路线的信息,每个bean中分别有start,end,busno3个属性,使得算法条理更加清晰化。
 至此站站查询全部完成。
 
 服务器对外接口(Servlet)的实现
 本系统采用Servlet作为和手机通讯的接口,采用HTTP的应答机制,免去了自己写应答的麻烦,系统在执行了一次查询后在服务器的LOG中记录一次,同时数据库中负责记录查询次数的计数器加1。发送信息关键代码如下:
    response.setContentType(CONTENT_TYPE);
    DataOutputStream dos = new DataOutputStream(response.getOutputStream());
    Iterator itr=coll.iterator() ;
    while (itr.hasNext())
    {
      result = result+(String) itr.next() ;
上一篇:免费目录服务和身份管理系统在电力企业中的设 下一篇:没有了