• 结队开发——地铁


    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    import com.model.*;
    public class RouteService {
        private Connection conn;
        private PreparedStatement pstmt;
        public RouteService(){
            conn=new com.conn.Conn().getCon();
        }
        public  Route  queryByName(String name ) {
            try {
                pstmt=conn.prepareStatement("select * from sitename where name=?");
                pstmt.setString(1,name);
                ResultSet rs=pstmt.executeQuery();
                if(rs.next()) {
                    Route r=new Route();
                    r.setName(rs.getString(1));
                    r.setTransfer(rs.getInt(2));
                    r.setNumber(rs.getInt(3));
                    return r;
                }
                return null;
            }catch(SQLException e) {
                e.printStackTrace();
            return null;
            }
        }
        public int judge(Route a,Route b) {                 //判断属于那种情况
            int judge=0;
            if(a.getTransfer()==0&&b.getTransfer()==0) {       //不是换乘
                if(a.getNumber()==b.getNumber()) {
                    judge=1;                                   //在一条线
                }
                else judge=2;                                 //不在一条线
            }
            else if(a.getTransfer()==1&&b.getTransfer()==1) {
                int anumber1,anumber2,bnumber1,bnumber2;
                anumber1=a.getNumber()%10;
                anumber2=(a.getNumber()-anumber1)/10;
                bnumber1=b.getNumber()%10;
                bnumber2=(b.getNumber()-bnumber1)/10;
                
            }
            return judge;
            
            }
        public Route queryByNameFirst(String name ) {            //first 表 姓名查询;
            try {
                pstmt=conn.prepareStatement("select * from first where name=?");
                pstmt.setString(1,name);
                ResultSet rs=pstmt.executeQuery();
                if(rs.next()) {
                    Route r=new Route();
                    r.setId(rs.getInt(1));
                    r.setName(rs.getString(2));
                    
                    return r;
                }
                return null;
            }catch(SQLException e) {
                e.printStackTrace();
            return null;
            }
        }
        public Route queryByNameSecond(String name ) {            //second 表 姓名查询;
            try {
                pstmt=conn.prepareStatement("select * from second where name=?");
                pstmt.setString(1,name);
                ResultSet rs=pstmt.executeQuery();
                if(rs.next()) {
                    Route r=new Route();
                    r.setId(rs.getInt(1));
                    r.setName(rs.getString(2));
                    return r;
                }
                return null;
            }catch(SQLException e) {
                e.printStackTrace();
            return null;
            }
        }
        public Route queryByNameThird(String name ) {            //third 表 姓名查询;
            try {
                pstmt=conn.prepareStatement("select * from third where name=?");
                pstmt.setString(1,name);
                ResultSet rs=pstmt.executeQuery();
                if(rs.next()) {
                    Route r=new Route();
                    r.setId(rs.getInt(1));
                    r.setName(rs.getString(2));
                    return r;
                }
                return null;
            }catch(SQLException e) {
                e.printStackTrace();
            return null;
            }
        }
        public Route queryByNameFourth(String name ) {            //fourth 表 姓名查询;
            try {
                pstmt=conn.prepareStatement("select * from fourth where name=?");
                pstmt.setString(1,name);
                ResultSet rs=pstmt.executeQuery();
                if(rs.next()) {
                    Route r=new Route();
                    r.setId(rs.getInt(1));
                    r.setName(rs.getString(2));
                    return r;
                }
                return null;
            }catch(SQLException e) {
                e.printStackTrace();
            return null;
            }
        }
        public Route queryByNameFifth(String name ) {            //fifth 表 姓名查询;
            try {
                pstmt=conn.prepareStatement("select * from fifth where name=?");
                pstmt.setString(1,name);
                ResultSet rs=pstmt.executeQuery();
                if(rs.next()) {
                    Route r=new Route();
                    r.setId(rs.getInt(1));
                    r.setName(rs.getString(2));
                    return r;
                }
                return null;
            }catch(SQLException e) {
                e.printStackTrace();
            return null;
            }
        }
        public Route queryByNameSix(String name ) {            //six表 姓名查询;
            try {
                pstmt=conn.prepareStatement("select * from six where name=?");
                pstmt.setString(1,name);
                ResultSet rs=pstmt.executeQuery();
                if(rs.next()) {
                    Route r=new Route();
                    r.setId(rs.getInt(1));
                    r.setName(rs.getString(2));
                    return r;
                }
                return null;
            }catch(SQLException e) {
                e.printStackTrace();
            return null;
            }
        }
        public Route queryByIdFirst(int id) {            //first 表id查询;
            try {
                pstmt=conn.prepareStatement("select * from first where id=?");
                pstmt.setInt(1,id);
                ResultSet rs=pstmt.executeQuery();
                if(rs.next()) {
                    Route r=new Route();
                    r.setId(rs.getInt(1));
                    r.setName(rs.getString(2));
                    
                    return r;
                }
                return null;
            }catch(SQLException e) {
                e.printStackTrace();
            return null;
            }
        }
        public List<Route> conditionOne(Route start,Route finish) {           //情况一 单线首尾非换乘点
            int num;
            num=start.getNumber();
            switch (num) {
            case 1:{
                
                    int i;        //循环数组 的下标
                    int a,b,j;
                    int x;        //循环 站点 的 id
                    Route s=new Route();
                    Route f=new Route();
                    s=queryByNameFirst(start.getName());
                    f=queryByNameFirst(finish.getName());
                    
                    if(s.getId()>f.getId()) {
                        a=s.getId();
                        b=f.getId();
                        j=0;
                    }
                    else {
                        a=f.getId();
                        b=s.getId();
                        j=1;
                    }
                    List<Route> all=new ArrayList<Route>();
                    int m=a-b+1;
                    if(j==0) {
                        for(i=0,x=a;i<m;i++,a--) {
                            all.add(queryByIdFirst(a));
                        }    
                    }else {
                        for(i=0,x=b;i<m;i++,b++) {
                            all.add(queryByIdFirst(b));
                        }    
                    }
                    return all;
            }
            case 2:{}
            case 3:{}
            case 4:{}
            case 5:{}
            case 6:{}
            }
            return null;
        }
    }
    public class Route {
        private int id;
        private String name;
        private int transfer;          //判断
        private int number;
        public int getTransfer() {
            return transfer;
        }
        public void setTransfer(int transfer) {
            this.transfer = transfer;
        }
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getNumber() {
            return number;
        }
        public void setNumber(int number) {
            this.number = number;
        }
        
    }
    public class Conn {
        public Connection getCon() {
            try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            String url="jdbc:mysql://localhost/subway?serverTimezone=UTC";
            String user="root";
            String password="335801836";
            Connection conn =DriverManager.getConnection(url,user,password);
            System.out.println(conn.getMetaData().getURL());      //验证
            return conn;
            }catch(Exception e) {
                e.printStackTrace();
                return null;
            }
        }
    }
    <body>
       
       <form method="post" action="namequery.jsp">
          <p>起始点<input type="text" name="start" value=""><p>
          <p>终&nbsp;&nbsp;&nbsp;&nbsp;点<input type="text" name="finish" value=""><p>
          <P><input type="submit" value="查询"><p>
       </form>
       
       </body>
    <body>
       <%request.setCharacterEncoding("utf-8"); %>
       <jsp:useBean id="rs" class="com.service.RouteService"></jsp:useBean>
       <%
         
         String start=request.getParameter("start");
         String finish=request.getParameter("finish");
         Route Rstart=rs.queryByName(start); 
         Route Rfinish=rs.queryByName(finish); 
        /* out.print( Rstrat.getTransfer()); */
        int judge=rs.judge(Rstart, Rfinish);
       %>
       <%
    
       int l=0;
       switch(judge){
       case 1:{
        List all=rs.conditionOne(Rstart, Rfinish);
        Iterator iter = all.iterator();
        while(iter.hasNext()){
            Route route=(Route)iter.next(); 
            out.print(route.getName()+"  ");
        }
       }break;
       case 2:
       case 3:
       }
       %>
      
       </body>
    <body>
       <%
       int i=0;
       switch(i){
       %><% 
       case 0:out.print("ddddddddddd");break;
       case 2:out.print("cuo");
       }
       %>
       </body>
  • 相关阅读:
    Redis 实现队列优先级
    Redis 实现安全队列
    快速理解linux流编辑器sed命令
    Varnish 简介
    手机访问本地服务器
    javascript类的类比详解-大白话版
    优秀前端工程师应该掌握的内容(转自:github)
    mongodb初步使用
    Markdown 语法速查表
    pace.js和NProgress.js两个加载进度插件的一点小总结
  • 原文地址:https://www.cnblogs.com/sljslj/p/11067928.html
Copyright © 2020-2023  润新知