一、题目要求
1.数据库设计:将石家庄地铁线路图的各个线路,各个站点,换乘信息等用数据库的形式保存起来,应该保存的信息有 {线路号,线路的各个站名,车站的换乘信息}。
2.站点查询:用户可以输入任一一条线路或输入出发地和目的地信息,可以查询到相关内容。
二、团队成员
盖楠 刘雨馨
三、编程过程
思路历程:
本来我们以为两周的任务,所以并不着急,但是发现大多数人已经编完,而且我们发现我们并不擅长我们之前的方法,于是我们询问了其他的队伍,采用了别的方法(方法在下面)
功能设计
用户通过jsp页面输入数据。
界面设计如图所示:

代码设计
将数据库中的内容取出来保存到容器中 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; }
成果展示


浙公网安备 33010602011771号