一、题目要求
1.数据库设计:将石家庄地铁线路图的各个线路,各个站点,换乘信息等用数据库的形式保存起来,应该保存的信息有 {线路号,线路的各个站名,车站的换乘信息}。
2.站点查询:用户可以输入任一一条线路或输入出发地和目的地信息,可以查询到相关内容。
二、团队成员
盖楠 刘雨馨
三、编程过程
思路历程:
本来我们以为两周的任务,所以并不着急,但是发现大多数人已经编完,而且我们发现我们并不擅长我们之前的方法,于是我们询问了其他的队伍,采用了别的方法(方法在下面)
功能设计
用户通过jsp页面输入数据。
界面设计如图所示:
1.1.1 .2代码设计
将数据库中的内容取出来保存到容器中 public static List<Subway> StartAndEnd(String startend,List<Subway> list)
确定起点终点是否为交换站,如果是交换站会保存两个不同线路的相同站名。 public static List<Subway> CheckSwitch(List<Subway> list1,List<Subway> list2,List<Subway> list3,List<Subway> list4,List<Subway> list5,List<Subway> list6)
将多个容器合并为一个容器 public static List<Subway> findChange(String table)
从数据库中寻找交换站保存到容器中 public static List<List<Subway>> Judge(List<Subway> Endlist,List<Subway> Startlist,List<Subway> listGather,List<Subway> listchange)
@SuppressWarnings({ "rawtypes", "unchecked" }) public static List<Subway> StartAndEnd(String startend,List<Subway> list) { Subway sub=null; List<Subway> StartEndlist=new ArrayList(); for(int i=0;i<list.size();i++) { sub=list.get(i); if(sub.getSname().equals(startend)) { StartEndlist.add(sub); } } return StartEndlist; }
@SuppressWarnings({ "null", "rawtypes", "unchecked", "unused" }) public static List<Subway> CheckSwitch(List<Subway> list1,List<Subway> list2,List<Subway> list3,List<Subway> list4,List<Subway> list5,List<Subway> list6) { List<Subway> list =new ArrayList(); Subway sub=null; list.addAll(list1); list.addAll(list2); list.addAll(list3); list.addAll(list4); list.addAll(list5); list.addAll(list6); return list; }
public static List<Subway> findChange(String table) { String sql = "select * from "+ table +" where Change1 is not null"; List<Subway> list = new ArrayList<>(); Connection conn = Db.getConnection(); Statement state = null; ResultSet rs = null; try { state = conn.createStatement(); rs = state.executeQuery(sql); Subway subway = null; while (rs.next()) { int Id = rs.getInt("Id"); String Sname = rs.getString("Sname"); String Snum = rs.getString("Snum"); String Change1 = rs.getString("Change1"); subway = new Subway(Id, Sname, Snum, Change1); list.add(subway); } } catch (SQLException e) { e.printStackTrace(); } finally { Db.close(rs, state, conn); } return list; }
成果展示