自闭症康复网,内容丰富有趣,生活中的好帮手!
自闭症康复网 > 石家庄地铁查询

石家庄地铁查询

时间:2021-10-11 06:00:18

相关推荐

石家庄地铁查询

一、需求 :地铁(石家庄地铁)线路查询

二、 学生:宋子健

合作对象:洪鼎淇

时间记录日志:

三、程序:

//数据处理层<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@ page language="java" import="java.util.*"%><%@ page language="java" import="com.hdq.service.ClassService"%><%@ page language="java" import="com.hdq.entity.LineInfo"%><%@ page language="java" import="com.hdq.entity.Linenum" %><!DOCTYPE html><html><head><meta charset="UTF-8"><title>数据处理层</title></head><body><%request.setCharacterEncoding("utf-8");//--------------------------------String start=request.getParameter("start");String end=request.getParameter("end");ClassService service=new ClassService();@SuppressWarnings("unchecked")List<Linenum> ln=(List<Linenum>)service.list("linenum", new String[]{"linenum"},new Linenum().getClass());int g_slinenum=-1,g_elinenum=-1;int g_snum=-1,g_enum=-1;List<LineInfo> pathInfo=new ArrayList<LineInfo>();c:for(Linenum it:ln){int g_count=0;@SuppressWarnings("unchecked")List<LineInfo> info=(List<LineInfo>)service.list("line"+it.getLinenum(), new String[]{"linenum","name"},new LineInfo().getClass());for(LineInfo it1:info){if(it1.getName().equals(start)){//找到相应的节点g_slinenum=it.getLinenum();g_snum=g_count;}if(it1.getName().equals(end)){g_elinenum=it.getLinenum();g_enum=g_count;}if(g_elinenum!=-1&&g_slinenum!=-1)break c;g_count++;}}if(g_slinenum!=-1&&g_elinenum!=-1){if(g_elinenum!=g_slinenum){@SuppressWarnings("unchecked")List<LineInfo> einfo=(List<LineInfo>)service.list("line"+g_elinenum, new String[]{"linenum","name"},new LineInfo().getClass());@SuppressWarnings("unchecked")List<LineInfo> sinfo=(List<LineInfo>)service.list("line"+g_slinenum, new String[]{"linenum","name"},new LineInfo().getClass());int g_center=-1,g_ecenter=-1;boolean fOutside=false,feOutside=false;for(int i=0;i<sinfo.size();i++){if(i==g_snum)fOutside=true;if(sinfo.get(i).getLinenum()==g_elinenum){g_center=i;}if(g_center!=-1&&fOutside)break;}if(g_center<g_snum){pathInfo=sinfo.subList(g_center, g_snum+1);Collections.reverse(pathInfo);}else{pathInfo=sinfo.subList(g_snum, g_center+1);}List<LineInfo> subPathInfo=new ArrayList<LineInfo>();for(int i=0;i<einfo.size();i++){if(i==g_enum)feOutside=true;if(g_center<g_snum){if(einfo.get(i).getName().equals(sinfo.get(g_snum).getName())){g_ecenter=i;}}else{if(einfo.get(i).getName().equals(sinfo.get(g_center).getName())){g_ecenter=i;}}if(g_ecenter!=-1&&feOutside)break;}if(g_ecenter<g_enum){subPathInfo=einfo.subList(g_ecenter, g_enum+1);}else{subPathInfo=einfo.subList(g_enum, g_ecenter+1);Collections.reverse(subPathInfo);}LineInfo pointInfo=new LineInfo();pointInfo.setName("换乘"+g_elinenum+"号线路");pathInfo.add(pointInfo);pathInfo.addAll(subPathInfo);}else{@SuppressWarnings("unchecked")List<LineInfo> sinfo=(List<LineInfo>)service.list("line"+g_slinenum, new String[]{"linenum","name"},new LineInfo().getClass());if(g_snum>g_enum){pathInfo=sinfo.subList(g_enum,g_snum+1);Collections.reverse(pathInfo);}else pathInfo=sinfo.subList(g_snum,g_enum+1);}String info=new String("查询的信息如下:");for(LineInfo it:pathInfo){info+=it.getName();if(!it.getName().equals(pathInfo.get(pathInfo.size()-1).getName())){info+="-";}}request.setAttribute("message",info);}else{request.setAttribute("message","查无信息,请确定你输入的起点和终点的名称正确");}request.getRequestDispatcher("subway.jsp").forward(request,response);%></body></html>

//具体代码省略

运行结果:

如果觉得《石家庄地铁查询》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。