地铁合作的第二周

一、题目要求

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;
    }

成果展示

原文地址:https://www.cnblogs.com/gothic-death/p/10688985.html