本周三提交一篇结队作业的博客,只是1.0版本,好多功能还没有实现,但是数据库的连接以及基本的界面设计已经完成了,以下是代码,不代表最终的成品。
package com.demo; import util.util; import java.sql.*; import java.util.ArrayList; import java.util.List; import java.util.Scanner; import javax.swing.plaf.synth.SynthSpinnerUI; public class LoginerDaolmpl { static Connection conn; static PreparedStatement ps = null; static ResultSet rs; static String sql = "select * from station"; static util ut= new util(); static Scanner in = new Scanner(System.in); public User loadUser(String a) { conn=ut.getConn(); ps=null; ResultSet rs=null; User user=null; sql="select * from station where Name=?"; try { ps=conn.prepareStatement(sql); ps.setString(1, a); rs=ps.executeQuery(); if(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); } }catch(SQLException e) { e.printStackTrace(); }finally { try { if(ps!=null)ps.close(); if(conn!=null)conn.close(); }catch(Exception e2) { e2.printStackTrace(); } } return user; } public User Select_Id(int a) { conn=ut.getConn(); ps=null; ResultSet rs=null; User user=null; sql="select * from station where Id=?"; try { ps=conn.prepareStatement(sql); ps.setInt(1, a); rs=ps.executeQuery(); if(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); } }catch(SQLException e) { e.printStackTrace(); }finally { try { if(ps!=null)ps.close(); if(conn!=null)conn.close(); }catch(Exception e2) { e2.printStackTrace(); } } return user; } public List<User> load(){ conn=ut.getConn(); ps=null; ResultSet rs=null; String id; sql="select * from station order by Id "; // sql="select * from station where Id between ? and ? order by Id"; List<User> users=new ArrayList<User>(); User user=null; try { ps=conn.prepareStatement(sql); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } }catch(SQLException e) { e.printStackTrace(); }finally { try { if(ps!=null)ps.close(); if(conn!=null)conn.close(); }catch(Exception e2) { e2.printStackTrace(); } } return users; } //只能返回站数,能判断一条线上,有两个转战口,但不能判断 三条最近 public int Num1(String a,String b) { User start=new User(); start=loadUser(a); User end=new User(); end=loadUser(b); User Mid=new User(); int num=0; if(start.getLine()==end.getLine()) { num=Math.abs(start.getNum()-end.getNum()); } if(start.getLine()==1&&end.getLine()==2) { int N=0,M=0; N=Math.abs(start.getNum()-4)+Math.abs(end.getNum()-6); M=Math.abs(start.getNum()-20)+Math.abs(end.getNum()-20); if(N>M)num=M; else num=N; } if(start.getLine()==1&&end.getLine()==3) { num=Math.abs(start.getNum()-23)+Math.abs(end.getNum()-13); } if(start.getLine()==1&&end.getLine()==4) { num=Math.abs(start.getNum()-17)+Math.abs(end.getNum()-13); } if(start.getLine()==1&&end.getLine()==5) { int N=0,M=0; N=Math.abs(start.getNum()-10)+Math.abs(end.getNum()-19); M=Math.abs(start.getNum()-25)+Math.abs(end.getNum()-7); if(N>M)num=M; else num=N; } if(start.getLine()==1&&end.getLine()==6) { num=Math.abs(start.getNum()-13)+Math.abs(end.getNum()-14); } if(start.getLine()==2&&end.getLine()==1) { int N=0,M=0; N=Math.abs(start.getNum()-6)+Math.abs(end.getNum()-4); M=Math.abs(start.getNum()-20)+Math.abs(end.getNum()-20); if(N>M)num=M; else num=N; } if(start.getLine()==2&&end.getLine()==3) { num=Math.abs(start.getNum()-25)+Math.abs(end.getNum()-17); } if(start.getLine()==2&&end.getLine()==4) { num=Math.abs(start.getNum()-27)+Math.abs(end.getNum()-5); } if(start.getLine()==2&&end.getLine()==5) { num=Math.abs(start.getNum()-18)+Math.abs(end.getNum()-13); } if(start.getLine()==2&&end.getLine()==6) { num=Math.abs(start.getNum()-22)+Math.abs(end.getNum()-8); } if(start.getLine()==3&&end.getLine()==1) { num=Math.abs(start.getNum()-13)+Math.abs(end.getNum()-23); } if(start.getLine()==3&&end.getLine()==2) { num=Math.abs(start.getNum()-17)+Math.abs(end.getNum()-25); } if(start.getLine()==3&&end.getLine()==4) { num=Math.abs(start.getNum()-22)+Math.abs(end.getNum()-9); } if(start.getLine()==3&&end.getLine()==5) { num=Math.abs(start.getNum()-11)+Math.abs(end.getNum()-11); } if(start.getLine()==3&&end.getLine()==6) { int N=0,M=0; N=Math.abs(start.getNum()-26)+Math.abs(end.getNum()-16); M=Math.abs(start.getNum()-15)+Math.abs(end.getNum()-5); if(N>M)num=M; else num=N; } if(start.getLine()==4&&end.getLine()==1) { num=Math.abs(start.getNum()-13)+Math.abs(end.getNum()-17); } if(start.getLine()==4&&end.getLine()==2) { num=Math.abs(start.getNum()-5)+Math.abs(end.getNum()-27); } if(start.getLine()==4&&end.getLine()==3) { num=Math.abs(start.getNum()-9)+Math.abs(end.getNum()-22); } if(start.getLine()==4&&end.getLine()==5) { int N=0,M=0; N=Math.abs(start.getNum()-15)+Math.abs(end.getNum()-15); M=Math.abs(start.getNum()-3)+Math.abs(end.getNum()-2); if(N>M)num=M; else num=N; } if(start.getLine()==4&&end.getLine()==6) { num=Math.abs(start.getNum()-11)+Math.abs(end.getNum()-11); } if(start.getLine()==5&&end.getLine()==1) { int N=0,M=0; N=Math.abs(start.getNum()-19)+Math.abs(end.getNum()-10); M=Math.abs(start.getNum()-25)+Math.abs(end.getNum()-7); if(N>M)num=M; else num=N; } if(start.getLine()==5&&end.getLine()==2) { num=Math.abs(start.getNum()-13)+Math.abs(end.getNum()-18); } if(start.getLine()==5&&end.getLine()==3) { num=Math.abs(start.getNum()-11)+Math.abs(end.getNum()-11); } if(start.getLine()==5&&end.getLine()==4 ) { int N=0,M=0; N=Math.abs(start.getNum()-19)+Math.abs(end.getNum()-10); M=Math.abs(start.getNum()-25)+Math.abs(end.getNum()-7); if(N>M)num=M; else num=N; } if(start.getLine()==5&&end.getLine()==6) { num=Math.abs(start.getNum()-4)+Math.abs(end.getNum()-3); } if(start.getLine()==6&&end.getLine()==1) { num=Math.abs(start.getNum()-14)+Math.abs(end.getNum()-13); } if(start.getLine()==6&&end.getLine()==2) { num=Math.abs(start.getNum()-8)+Math.abs(end.getNum()-22); } if(start.getLine()==6&&end.getLine()==3 ) { int N=0,M=0; N=Math.abs(start.getNum()-16)+Math.abs(end.getNum()-26); M=Math.abs(start.getNum()-5)+Math.abs(end.getNum()-15); if(N>M)num=M; else num=N; } if(start.getLine()==6&&end.getLine()==4) { num=Math.abs(start.getNum()-11)+Math.abs(end.getNum()-11); } if(start.getLine()==6&&end.getLine()==5) { num=Math.abs(start.getNum()-3)+Math.abs(end.getNum()-4); } System.out.println(num); return num; } //只能返回站名,不能判断两个转战口,同时不能判断三条最近 public List<User> Num2(String a,String b) { User start=new User(); User end=new User(); start=loadUser(a); end=loadUser(b); conn=ut.getConn(); ps=null; ResultSet rs=null; String id; sql="select * from station where Id between ? and ? order by Id"; List<User> users=new ArrayList<User>(); User user=null; if(start.getLine()==end.getLine())//一条线 { if(start.getId()<=end.getId()) { try { ps=conn.prepareStatement(sql); ps.setInt(1, start.getId()); ps.setInt(2, end.getId()); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } }catch(SQLException e) { e.printStackTrace(); } } else { try { sql="select * from station where Id between ? and ? order by Id desc"; ps=conn.prepareStatement(sql); ps.setInt(2, start.getId()); ps.setInt(1, end.getId()); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } }catch(SQLException e) { e.printStackTrace(); } } } if(start.getLine()!=end.getLine())//不在一条线 { System.out.println(start.getLine()+end.getLine()); int mid=0; try { sql="select * from station where Line=? and Exchange=?"; ps=conn.prepareStatement(sql); ps.setInt(1, start.getLine()); ps.setInt(2, end.getLine()); rs=ps.executeQuery(); User Mid=new User();//找到中间值(在始发站那条线路上) if(rs.next()) { Mid.setName(rs.getString("Name")); Mid.setId(rs.getInt("Id")); Mid.setLine(rs.getInt("Line")) ; Mid.setNum(rs.getInt("Num")); Mid.setExchange(rs.getInt("Exchange")); } sql="select * from station where Line=? and Exchange=?"; //找到在终点站那条线路上 ps=conn.prepareStatement(sql); ps.setInt(2, start.getLine()); ps.setInt(1, end.getLine()); rs=ps.executeQuery(); User Mid2=new User(); if(rs.next()) { Mid2.setName(rs.getString("Name")); Mid2.setId(rs.getInt("Id")); Mid2.setLine(rs.getInt("Line")) ; Mid2.setNum(rs.getInt("Num")); Mid2.setExchange(rs.getInt("Exchange")); } if(Mid.getId()>start.getId())//始发站->中转站 { sql="select * from station where Id between ? and ? order by Id"; ps=conn.prepareStatement(sql); ps.setInt(1, start.getId()); ps.setInt(2, Mid.getId()); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } if(Mid2.getId()>end.getId())//始发站->中转站 终点站->中转站 { System.out.println(""); sql="select * from station where Id between ? and ? order by Id desc"; ps=conn.prepareStatement(sql); ps.setInt(1, end.getId()); ps.setInt(2, Mid2.getId()-1); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } else//始发站->中转站->终点站 { sql="select * from station where Id between ? and ? order by Id "; ps=conn.prepareStatement(sql); ps.setInt(2, end.getId()); ps.setInt(1, Mid2.getId()+1); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } } else//中转站<-始发站 { sql="select * from station where Id between ? and ? order by Id desc"; ps=conn.prepareStatement(sql); ps.setInt(2, start.getId()); ps.setInt(1, Mid.getId()); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } if(Mid2.getId()>end.getId())//中转站<-始发站 终点站->中转站 { sql="select * from station where Id between ? and ? order by Id desc"; ps=conn.prepareStatement(sql); ps.setInt(1, end.getId()); ps.setInt(2, Mid2.getId()-1); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } else//中转站<-始发站 { sql="select * from station where Id between ? and ? order by Id "; ps=conn.prepareStatement(sql); ps.setInt(2, end.getId()); ps.setInt(1, Mid2.getId()+1); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } } }catch(SQLException e) { e.printStackTrace(); } } return users; } //能返回站名,同时实现两个转战口,但是不能三条最近 public List<User> Num3(String a,String b) { User start=new User(); User end=new User(); start=loadUser(a); end=loadUser(b); conn=ut.getConn(); ps=null; ResultSet rs=null; String id; sql="select * from station where Id between ? and ? order by Id"; List<User> users=new ArrayList<User>(); List<User> Mid1s=new ArrayList<User>();//做出一个始发站中转站点集 List<User> Mid2s=new ArrayList<User>();//做出一个终点站中转站点集 User user=null; User Mid1=null; User Mid2=null; if(start.getLine()==end.getLine())//一条线 { if(start.getId()<=end.getId()) { try { conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(1, start.getId()); ps.setInt(2, end.getId()); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } }catch(SQLException e) { e.printStackTrace(); } } else { try { sql="select * from station where Id between ? and ? order by Id desc"; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(2, start.getId()); ps.setInt(1, end.getId()); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } }catch(SQLException e) { e.printStackTrace(); } } } if(start.getLine()!=end.getLine())//不在一条线 { int mid=0; try { sql="select * from station where Line=? and Exchange=?";//始发站一条线 conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(1, start.getLine()); ps.setInt(2, end.getLine()); rs=ps.executeQuery(); while(rs.next()) { Mid1=new User(); Mid1.setName(rs.getString("Name")); Mid1.setId(rs.getInt("Id")); Mid1.setLine(rs.getInt("Line")) ; Mid1.setNum(rs.getInt("Num")); Mid1.setExchange(rs.getInt("Exchange")); Mid1s.add(Mid1); } sql="select * from station where Line=? and Exchange=?"; //找到在终点站那条线路上 conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(2, start.getLine()); ps.setInt(1, end.getLine()); rs=ps.executeQuery(); while(rs.next()) { Mid2=new User(); Mid2.setName(rs.getString("Name")); Mid2.setId(rs.getInt("Id")); Mid2.setLine(rs.getInt("Line")) ; Mid2.setNum(rs.getInt("Num")); Mid2.setExchange(rs.getInt("Exchange")); Mid2s.add(Mid2); } int min=100;//选出最近转战口 int Min1=Mid1.getId();//最近转战口ID 与始发站相同 int Min2=Mid2.getId();//与终点站相同 for(User mid1:Mid1s) { for(User mid2:Mid2s) { if(mid1.getName().equals(mid2.getName())) { int n=Math.abs(mid1.getId()-start.getId())+Math.abs(mid2.getId()-end.getId()); if(min>n) { min=n; Min1=mid1.getId(); Min2=mid2.getId(); } } } } System.out.println(Min1); User mid1=Select_Id(Min1); User mid2=Select_Id(Min2); System.out.println(mid2.getName()+"asdfasdfasdgasdgasdf"+mid1.getName());//////////// if(mid1.getId()>start.getId())//始发站->中转站 { sql="select * from station where Id between ? and ? order by Id"; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(1, start.getId()); ps.setInt(2, mid1.getId()); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } if(mid2.getId()>end.getId())//始发站->中转站 终点站->中转站 { System.out.println(""); sql="select * from station where Id between ? and ? order by Id desc"; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(1, end.getId()); ps.setInt(2, mid2.getId()-1); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } else//始发站->中转站->终点站 { sql="select * from station where Id between ? and ? order by Id "; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(2, end.getId()); ps.setInt(1, mid2.getId()+1); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } } else//中转站<-始发站 { sql="select * from station where Id between ? and ? order by Id desc"; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(2, start.getId()); ps.setInt(1, mid1.getId()); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } if(mid2.getId()>end.getId())//中转站<-始发站 终点站->中转站 { sql="select * from station where Id between ? and ? order by Id desc"; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(1, end.getId()); ps.setInt(2, mid2.getId()-1); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } else//中转站<-始发站 { sql="select * from station where Id between ? and ? order by Id "; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(2, end.getId()); ps.setInt(1, mid2.getId()+1); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } } }catch(SQLException e) { e.printStackTrace(); } } return users; } public List<User>Num4(String a,String b) { User start=new User(); User end=new User(); start=loadUser(a); end=loadUser(b); conn=ut.getConn(); ps=null; ResultSet rs=null; String id; sql="select * from station where Id between ? and ? order by Id"; List<User> users=new ArrayList<User>(); List<User> Mid1s=new ArrayList<User>();//做出一个始发站中转站点集 List<User> Mid2s=new ArrayList<User>();//做出一个终点站中转站点集 List<User> Mid3s=new ArrayList<User>();//1在转战线上的位置 List<User> Mid4s=new ArrayList<User>();//2在转战上的位置 User user=null; User Mid1=null; User Mid2=null; User Mid3=null; User Mid4=null; int Zhuan;//最近的转战是第几条线 if(start.getLine()==end.getLine())//一条线 { if(start.getId()<=end.getId()) { try { conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(1, start.getId()); ps.setInt(2, end.getId()); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } }catch(SQLException e) { e.printStackTrace(); } } else { try { sql="select * from station where Id between ? and ? order by Id desc"; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(2, start.getId()); ps.setInt(1, end.getId()); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } }catch(SQLException e) { e.printStackTrace(); } } } if(start.getLine()!=end.getLine())//不在一条线 { int mid=0; try { sql="select * from station where Line=? and Exchange !=?";//始发站一条线 conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(1, start.getLine()); ps.setInt(2, 0); rs=ps.executeQuery(); while(rs.next()) { Mid1=new User(); Mid1.setName(rs.getString("Name")); Mid1.setId(rs.getInt("Id")); Mid1.setLine(rs.getInt("Line")) ; Mid1.setNum(rs.getInt("Num")); Mid1.setExchange(rs.getInt("Exchange")); Mid1s.add(Mid1); } for(User mid1:Mid1s) { sql="select * from station where Name=?";//同名 但是Id 不一样 conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setString(1, mid1.getName()); rs=ps.executeQuery(); while(rs.next()) { Mid3=new User(); Mid3.setName(rs.getString("Name")); Mid3.setId(rs.getInt("Id")); Mid3.setLine(rs.getInt("Line")) ; Mid3.setNum(rs.getInt("Num")); Mid3.setExchange(rs.getInt("Exchange")); if(Mid3.getId()!=mid1.getId()) { Mid3s.add(Mid3); } } } sql="select * from station where Line=? and Exchange !=?"; //找到在终点站那条线路上 conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(2, start.getLine()); ps.setInt(1, end.getLine()); rs=ps.executeQuery(); while(rs.next()) { Mid2=new User(); Mid2.setName(rs.getString("Name")); Mid2.setId(rs.getInt("Id")); Mid2.setLine(rs.getInt("Line")) ; Mid2.setNum(rs.getInt("Num")); Mid2.setExchange(rs.getInt("Exchange")); Mid2s.add(Mid2); } for(User mid2:Mid2s) { sql="select * from station where Name=?";//同名 但是Id 不一样 conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setString(1, mid2.getName()); rs=ps.executeQuery(); while(rs.next()) { Mid4=new User(); Mid4.setName(rs.getString("Name")); Mid4.setId(rs.getInt("Id")); Mid4.setLine(rs.getInt("Line")) ; Mid4.setNum(rs.getInt("Num")); Mid4.setExchange(rs.getInt("Exchange")); if(Mid4.getId()!=mid2.getId()) { Mid4s.add(Mid4); } } } int min=100;//选出最近转战口 int Min1=Mid1.getId();//最近转战口ID 与始发站相同 int Min2=Mid2.getId();//与终点站相同 int Min3=Mid3.getId(); int Min4=Mid4.getId(); for(User mid1:Mid1s) { for(User mid3:Mid3s) { for(User mid2:Mid2s) { for(User mid4:Mid4s) { if((mid1.getExchange()==mid2.getExchange())&&(mid3.getLine()==mid4.getLine())&&(mid1.getExchange()==mid3.getLine())) { int n=Math.abs(mid1.getId()-start.getId())+Math.abs(mid2.getId()-end.getId())+Math.abs(mid3.getId()-mid4.getId()); if(min>n) { min=n; Min1=mid1.getId(); Min2=mid2.getId(); Min3=mid3.getId(); Min4=mid4.getId(); } } } } } } System.out.println(Min1); User mid1=Select_Id(Min1); User mid2=Select_Id(Min2); User mid3=Select_Id(Min3); User mid4=Select_Id(Min4); System.out.println(mid2.getName()+"asdfasdfasdgasdgasdf"+mid1.getName());//////////// if(mid1.getId()>start.getId())//始发站->中转站 { sql="select * from station where Id between ? and ? order by Id"; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(1, start.getId()); ps.setInt(2, mid1.getId()); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } if(mid3.getId()>mid4.getId())//3->4 { sql="select * from station where Id between ? and ? order by Id desc"; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(1,mid4.getId()); ps.setInt(2, mid3.getId()); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } if(mid3.getId()<mid4.getId())//3->4 { sql="select * from station where Id between ? and ? order by Id "; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(1,mid3.getId()); ps.setInt(2, mid4.getId()); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } if(mid2.getId()>end.getId())//始发站->中转站 终点站->中转站 { System.out.println(""); sql="select * from station where Id between ? and ? order by Id desc"; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(1, end.getId()); ps.setInt(2, mid2.getId()-1); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } else//始发站->中转站->终点站 { sql="select * from station where Id between ? and ? order by Id "; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(2, end.getId()); ps.setInt(1, mid2.getId()+1); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } } else//中转站<-始发站 { sql="select * from station where Id between ? and ? order by Id desc"; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(2, start.getId()); ps.setInt(1, mid1.getId()); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } if(mid3.getId()>mid4.getId())//3->4 { sql="select * from station where Id between ? and ? order by Id desc"; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(1,mid4.getId()); ps.setInt(2, mid3.getId()); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } if(mid3.getId()<mid4.getId())//3->4 { sql="select * from station where Id between ? and ? order by Id "; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(1,mid3.getId()); ps.setInt(2, mid4.getId()); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } if(mid2.getId()>end.getId())//中转站<-始发站 终点站->中转站 { sql="select * from station where Id between ? and ? order by Id desc"; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(1, end.getId()); ps.setInt(2, mid2.getId()-1); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } else//中转站<-始发站 { sql="select * from station where Id between ? and ? order by Id "; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(2, end.getId()); ps.setInt(1, mid2.getId()+1); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } } }catch(SQLException e) { e.printStackTrace(); } } return users; } public List<User>Num5(String a,String b) { int NN=0; User start=new User(); User end=new User(); start=loadUser(a); end=loadUser(b); conn=ut.getConn(); ps=null; ResultSet rs=null; String id; sql="select * from station where Id between ? and ? order by Id"; List<User> users=new ArrayList<User>(); List<User> Mid1s=new ArrayList<User>();//做出一个始发站中转站点集 List<User> Mid2s=new ArrayList<User>();//做出一个终点站中转站点集 List<User> Mid3s=new ArrayList<User>();//1在转战线上的位置 List<User> Mid4s=new ArrayList<User>();//2在转战上的位置 User user=null; User Mid1=null; User Mid2=null; User Mid3=null; User Mid4=null; int Zhuan;//最近的转战是第几条线 if(start.getLine()==end.getLine())//一条线 { if(start.getId()<=end.getId()) { try { conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(1, start.getId()); ps.setInt(2, end.getId()); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } }catch(SQLException e) { e.printStackTrace(); } } else { try { sql="select * from station where Id between ? and ? order by Id desc"; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(2, start.getId()); ps.setInt(1, end.getId()); rs=ps.executeQuery(); while(rs.next()) { user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } }catch(SQLException e) { e.printStackTrace(); } } } if(start.getLine()!=end.getLine())//不在一条线 { int mid=0; try { sql="select * from station where Line=? and Exchange !=?";//始发站一条线 conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(1, start.getLine()); ps.setInt(2, 0); rs=ps.executeQuery(); while(rs.next()) { Mid1=new User(); Mid1.setName(rs.getString("Name")); Mid1.setId(rs.getInt("Id")); Mid1.setLine(rs.getInt("Line")) ; Mid1.setNum(rs.getInt("Num")); Mid1.setExchange(rs.getInt("Exchange")); Mid1s.add(Mid1); } for(User mid1:Mid1s) { sql="select * from station where Name=?";//同名 但是Id 不一样 conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setString(1, mid1.getName()); rs=ps.executeQuery(); while(rs.next()) { Mid3=new User(); Mid3.setName(rs.getString("Name")); Mid3.setId(rs.getInt("Id")); Mid3.setLine(rs.getInt("Line")) ; Mid3.setNum(rs.getInt("Num")); Mid3.setExchange(rs.getInt("Exchange")); if(Mid3.getId()!=mid1.getId()) { Mid3s.add(Mid3); } } } sql="select * from station where Line=? and Exchange !=?"; //找到在终点站那条线路上 conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(2, start.getLine()); ps.setInt(1, end.getLine()); rs=ps.executeQuery(); while(rs.next()) { Mid2=new User(); Mid2.setName(rs.getString("Name")); Mid2.setId(rs.getInt("Id")); Mid2.setLine(rs.getInt("Line")) ; Mid2.setNum(rs.getInt("Num")); Mid2.setExchange(rs.getInt("Exchange")); Mid2s.add(Mid2); } for(User mid2:Mid2s) { sql="select * from station where Name=?";//同名 但是Id 不一样 conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setString(1, mid2.getName()); rs=ps.executeQuery(); while(rs.next()) { Mid4=new User(); Mid4.setName(rs.getString("Name")); Mid4.setId(rs.getInt("Id")); Mid4.setLine(rs.getInt("Line")) ; Mid4.setNum(rs.getInt("Num")); Mid4.setExchange(rs.getInt("Exchange")); if(Mid4.getId()!=mid2.getId()) { Mid4s.add(Mid4); } } } int min=100;//选出最近转战口 int Min1=Mid1.getId();//最近转战口ID 与始发站相同 int Min2=Mid2.getId();//与终点站相同 int Min3=Mid3.getId(); int Min4=Mid4.getId(); for(User mid1:Mid1s) { for(User mid3:Mid3s) { for(User mid2:Mid2s) { for(User mid4:Mid4s) { if((mid1.getExchange()==mid2.getExchange())&&(mid3.getLine()==mid4.getLine())&&(mid1.getExchange()==mid3.getLine())) { int n=Math.abs(mid1.getId()-start.getId())+Math.abs(mid2.getId()-end.getId())+Math.abs(mid3.getId()-mid4.getId()); if(min>n) { min=n; Min1=mid1.getId(); Min2=mid2.getId(); Min3=mid3.getId(); Min4=mid4.getId(); } } } } } } System.out.println(Min1); User mid1=Select_Id(Min1); User mid2=Select_Id(Min2); User mid3=Select_Id(Min3); User mid4=Select_Id(Min4); System.out.println(mid2.getName()+"asdfasdfasdgasdgasdf"+mid1.getName());//////////// if(mid1.getId()>start.getId())//始发站->中转站 { sql="select * from station where Id between ? and ? order by Id"; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(1, start.getId()); ps.setInt(2, mid1.getId()); rs=ps.executeQuery(); while(rs.next()) { NN=NN+1; user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } if(mid3.getId()>mid4.getId())//3->4 { sql="select * from station where Id between ? and ? order by Id desc"; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(1,mid4.getId()); ps.setInt(2, mid3.getId()-1);///////////////////// rs=ps.executeQuery(); while(rs.next()) { NN=NN+1; user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } if(mid3.getId()<mid4.getId())//3->4 { sql="select * from station where Id between ? and ? order by Id "; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(1,mid3.getId()+1); ps.setInt(2, mid4.getId()); rs=ps.executeQuery(); while(rs.next()) { NN=NN+1; user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } if(mid2.getId()>end.getId())//始发站->中转站 终点站->中转站 { System.out.println(""); sql="select * from station where Id between ? and ? order by Id desc"; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(1, end.getId()); ps.setInt(2, mid2.getId()-1); rs=ps.executeQuery(); while(rs.next()) { NN=NN+1; user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } else//始发站->中转站->终点站 { sql="select * from station where Id between ? and ? order by Id "; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(2, end.getId()); ps.setInt(1, mid2.getId()+1); rs=ps.executeQuery(); while(rs.next()) { NN=NN+1; user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } } else//中转站<-始发站 { sql="select * from station where Id between ? and ? order by Id desc"; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(2, start.getId()); ps.setInt(1, mid1.getId()); rs=ps.executeQuery(); while(rs.next()) { NN=NN+1; user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } if(mid3.getId()>mid4.getId())//3->4 { sql="select * from station where Id between ? and ? order by Id desc"; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(1,mid4.getId()); ps.setInt(2, mid3.getId()-1); rs=ps.executeQuery(); while(rs.next()) { NN=NN+1; user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } if(mid3.getId()<mid4.getId())//3->4 { sql="select * from station where Id between ? and ? order by Id "; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(1,mid3.getId()+1); ps.setInt(2, mid4.getId()); rs=ps.executeQuery(); while(rs.next()) { NN=NN+1; user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } if(mid2.getId()>end.getId())//中转站<-始发站 终点站->中转站 { sql="select * from station where Id between ? and ? order by Id desc"; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(1, end.getId()); ps.setInt(2, mid2.getId()-1); rs=ps.executeQuery(); while(rs.next()) { NN=NN+1; user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } else//中转站<-始发站 { sql="select * from station where Id between ? and ? order by Id "; conn=ut.getConn(); ps=conn.prepareStatement(sql); ps.setInt(2, end.getId()); ps.setInt(1, mid2.getId()+1); rs=ps.executeQuery(); while(rs.next()) { NN=NN+1; user=new User(); user.setName(rs.getString("Name")); user.setId(rs.getInt("Id")); user.setLine(rs.getInt("Line")) ; user.setNum(rs.getInt("Num")); user.setExchange(rs.getInt("Exchange")); users.add(user); } } } }catch(SQLException e) { e.printStackTrace(); } } System.out.println("aadfasdfsdaf"+NN+"adsfads"+Num1(a,b)); if(NN>Num1(a,b)) { return Num3(a,b); } else { return users; } } }
package com.demo; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class main { public static void main(String[] args) { LoginerDaolmpl loginerDaoImpl=new LoginerDaolmpl(); List<User> users = new ArrayList<User>(); System.out.println("查询"); // users=loginerDaoImpl.load(); // // for(User u:users) { // System.out.println(u.getName()); // } Scanner scan=new Scanner(System.in); String a=scan.next(); String b=scan.next(); // users=loginerDaoImpl.Num2(a, b); // users=loginerDaoImpl.Num3(a, b); // users=loginerDaoImpl.Num4(a, b); users=loginerDaoImpl.Num5(a, b); for(User u:users) { System.out.println(u.getId()); System.out.println(u.getName()); } System.out.println(loginerDaoImpl.Num1(a, b)); } }
package com.demo; import java.sql.Connection; public class User { private int Id; private int Line; private String Name; private int Num; private int Exchange; public int getId() { return Id; } public void setId(int id) { Id = id; } public int getLine() { return Line; } public void setLine(int line) { Line = line; } public String getName() { return Name; } public void setName(String name) { Name = name; } public int getNum() { return Num; } public void setNum(int num) { Num = num; } public int getExchange() { return Exchange; } public void setExchange(int exchange) { Exchange = exchange; } public User(int id,int line ,String name,int num,int exchange) { this.Name = name; this.Id=id; this.Line=line; this.Num=num; this.Exchange=exchange; } public User() { // TODO Auto-generated constructor stub } }
package util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class util { public static Connection getMysqlConn()//获取连接,返回Connection类型,必须设置为static这样才能在其他类中使用 { Connection conn=null; try { Class.forName("com.mysql.jdbc.Driver");//加载驱动 System.out.println("Success loading Mysql Driver!"); conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/sjzsubway?useUnicode=true&characterEncoding=utf-8","root","980713");//连接数据库 } catch(Exception e) { System.out.println("Error"); e.printStackTrace(); } return conn; } public static void close(PreparedStatement ps,Connection conn)//关闭函数 { if(ps!=null)//只有状态和连接时,先关闭状态 { try { ps.close(); } catch(SQLException e) { e.printStackTrace(); } } if(conn!=null) { try { conn.close(); } catch(SQLException e) { e.printStackTrace(); } } } public static void close(ResultSet rs,PreparedStatement ps,Connection conn) { if(rs!=null)//有结果集,状态和连接时,先关闭结果集,在关闭状态,在关闭连接 { try { rs.close(); } catch(SQLException e) { e.printStackTrace(); } } if(ps!=null) { try { ps.close(); } catch(SQLException e) { e.printStackTrace(); } } if(conn!=null) { try { conn.close(); } catch(SQLException e) { e.printStackTrace(); } } } }
package DJSTL; import util.util; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Scanner; import java.util.Set; public class DataBuilder { static Connection conn; static PreparedStatement ps = null; static ResultSet rs; static String sql = "select * from station"; //连接数据库 static util ut= new util(); static Scanner in = new Scanner(System.in); static String station_name; public static List<Station> line1 = new ArrayList<Station>();//1号线 public static List<Station> line2 = new ArrayList<Station>();//2号线 public static List<Station> line3 = new ArrayList<Station>();//3号线 public static List<Station> line4 = new ArrayList<Station>();//10号线 public static List<Station> line5 = new ArrayList<Station>();//s1号线 public static List<Station> line6 = new ArrayList<Station>();//s8号线 public static Set<List<Station>> lineSet = new HashSet<List<Station>>();//所有线集合 public static int totalStaion = 0;//总的站点数量 static { String[] line1Arr=new String[29]; String[] line2Arr=new String[37]; String[] line3Arr=new String[34]; String[] line4Arr=new String[18]; String[] line5Arr=new String[21]; String[] line6Arr=new String[19]; //1号线 try { conn=ut.getConn(); ps=null; ResultSet rs=null; sql="select * from station where Line=?"; ps=conn.prepareStatement(sql); ps.setInt(1, 1); rs=ps.executeQuery(); int i=-1; while(rs.next()) { i++; station_name=rs.getString("Name"); line1Arr[i]=station_name; // System.out.println(station_name); } } catch(SQLException e) { e.printStackTrace(); } finally { try { if(ps!=null)ps.close(); if(conn!=null)conn.close(); } catch(Exception e2) { e2.printStackTrace(); } } try { conn=ut.getConn(); ps=null; ResultSet rs=null; sql="select * from station where Line=?"; ps=conn.prepareStatement(sql); ps.setInt(1, 2); rs=ps.executeQuery(); int i=-1; while(rs.next()) { i++; station_name=rs.getString("Name"); line2Arr[i]=station_name; // System.out.println(station_name); } } catch(SQLException e) { e.printStackTrace(); } finally { try { if(ps!=null)ps.close(); if(conn!=null)conn.close(); } catch(Exception e2) { e2.printStackTrace(); } } try { conn=ut.getConn(); ps=null; ResultSet rs=null; sql="select * from station where Line=?"; ps=conn.prepareStatement(sql); ps.setInt(1,3); rs=ps.executeQuery(); int i=-1; while(rs.next()) { i++; station_name=rs.getString("Name"); line3Arr[i]=station_name; // System.out.println(station_name); } } catch(SQLException e) { e.printStackTrace(); } finally { try { if(ps!=null)ps.close(); if(conn!=null)conn.close(); } catch(Exception e2) { e2.printStackTrace(); } } try { conn=ut.getConn(); ps=null; ResultSet rs=null; sql="select * from station where Line=?"; ps=conn.prepareStatement(sql); ps.setInt(1, 4); rs=ps.executeQuery(); int i=-1; while(rs.next()) { i++; station_name=rs.getString("Name"); line4Arr[i]=station_name; // System.out.println(station_name); } } catch(SQLException e) { e.printStackTrace(); } finally { try { if(ps!=null)ps.close(); if(conn!=null)conn.close(); } catch(Exception e2) { e2.printStackTrace(); } } try { conn=ut.getConn(); ps=null; ResultSet rs=null; sql="select * from station where Line=?"; ps=conn.prepareStatement(sql); ps.setInt(1, 5); rs=ps.executeQuery(); int i=-1; while(rs.next()) { i++; station_name=rs.getString("Name"); line5Arr[i]=station_name; // System.out.println(station_name); } } catch(SQLException e) { e.printStackTrace(); } finally { try { if(ps!=null)ps.close(); if(conn!=null)conn.close(); } catch(Exception e2) { e2.printStackTrace(); } } try { conn=ut.getConn(); ps=null; ResultSet rs=null; sql="select * from station where Line=?"; ps=conn.prepareStatement(sql); ps.setInt(1, 6); rs=ps.executeQuery(); int i=-1; while(rs.next()) { i++; station_name=rs.getString("Name"); line6Arr[i]=station_name; // System.out.println(station_name); } } catch(SQLException e) { e.printStackTrace(); } finally { try { if(ps!=null)ps.close(); if(conn!=null)conn.close(); } catch(Exception e2) { e2.printStackTrace(); } } for(String s : line1Arr){ line1.add(new Station(s)); } for(int i =0;i<line1.size();i++){ if(i<line1.size()-1){ line1.get(i).next = line1.get(i+1); line1.get(i+1).prev = line1.get(i); } } /*******************************************************************************/ //2号线 for(String s : line2Arr){ line2.add(new Station(s)); } for(int i =0;i<line2.size();i++){ if(i<line2.size()-1){ line2.get(i).next = line2.get(i+1); line2.get(i+1).prev = line2.get(i); } } /*******************************************************************************/ //3号线 for(String s : line3Arr){ line3.add(new Station(s)); } for(int i =0;i<line3.size();i++){ if(i<line3.size()-1){ line3.get(i).next = line3.get(i+1); line3.get(i+1).prev = line3.get(i); } } /*******************************************************************************/ //4号线 for(String s : line4Arr){ line4.add(new Station(s)); } for(int i =0;i<line4.size();i++){ if(i<line4.size()-1){ line4.get(i).next = line4.get(i+1); line4.get(i+1).prev = line4.get(i); } } /*******************************************************************************/ //5号线 for(String s : line5Arr){ line5.add(new Station(s)); } for(int i =0;i<line5.size();i++){ if(i<line5.size()-1){ line5.get(i).next = line5.get(i+1); line5.get(i+1).prev = line5.get(i); } } /*******************************************************************************/ //6号线 for(String s : line6Arr){ line6.add(new Station(s)); } for(int i =0;i<line6.size();i++){ if(i<line6.size()-1){ line6.get(i).next = line6.get(i+1); line6.get(i+1).prev = line6.get(i); } } lineSet.add(line1); lineSet.add(line2); lineSet.add(line3); lineSet.add(line4); lineSet.add(line5); lineSet.add(line6); totalStaion = line1.size() + line2.size() + line3.size() + line4.size() + line5.size() + line6.size(); System.out.println("总的站点数量:"+totalStaion); } }
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@page import="com.demo.LoginerDaolmpl"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <form action="Shu_result.jsp" method="post" id="form"> <h4> 始发站:<input type="text" name="start"title="课程不能为空"></input><br></h4> <h4> 终点站:<input type="text" name="end"title="课程不能为空"></input><br></h4> <input type="submit" value="完成"/> </form> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@page import="com.demo.LoginerDaolmpl"%> <%@page import="com.demo.User" %> <%@page import="java.util.List" %> <%@page import="java.util.ArrayList" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <% request.setCharacterEncoding("utf-8"); LoginerDaolmpl loginerDaoImpl=new LoginerDaolmpl(); List<User> users = new ArrayList<User>(); String a=request.getParameter("start"); String b=request.getParameter("end"); User user=new User(); users=loginerDaoImpl.Num5(a,b); %> <body> <table> <tr> <td>Id</td> <td>站名</td> </tr> <%for(User u:users) { %> <tr> <td><%=u.getId() %></td> <td><%=u.getName() %></td> </tr> <%} %> </table> **********************<br> <input type="button" value="返回功能界面" onclick="window.location.href='success.jsp';"/><br> **********************<br> </body> </html>