亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? bussearch.java

?? 濟南公交管理系統(tǒng) (不完善,沒有解決循環(huán)線路問題)
?? JAVA
字號:
import java.sql.*;
import java.util.*;

public class busSearch {
  //private String station_Name;//公交站點名
  //private int line_Number;//公交車次號
  String databasename = "jnbus"; //數(shù)據(jù)源名
  connectDB conndb = new connectDB(); //聲明連接數(shù)據(jù)庫類的一個對象
  public busSearch() {
  }

  /////////////////////////////////////////////////////////////////////////////
  public int countStation(String startStation, String endStation,
                          int line_number) {
    //功能:在某一個車次,查詢開始站和終點站之間的站點數(shù)(可直達的站點)
    //返回值:整形,站點數(shù)
    conndb.connectDb(databasename);
    int countStation = 0; //記錄站點數(shù)
    int startnum = 1, endnum = 1; //開始站點序號,終止站點序號,并初始化為1
    String sql1 = "select 序號 from stationinfo where 車次號=" + line_number +
        " and 站點名=" + "'" + startStation + "'" + "";
    String sql2 = "select 序號 from stationinfo where 車次號=" + line_number +
        " and 站點名=" + "'" + endStation + "'" + "";
    ResultSet rs1, rs2;
    try {
      rs1 = conndb.stmt.executeQuery(sql1);
      while (rs1.next()) {
        startnum = rs1.getInt("序號"); //開始站點序號
      }
      rs1.close();
      rs2 = conndb.stmt.executeQuery(sql2);
      while (rs2.next()) {
        endnum = rs2.getInt("序號"); //終止站點序號
      }
      rs2.close();
    }
    catch (SQLException e) {
      System.out.println(e); //打印sql執(zhí)行錯誤信息
    }
    countStation = compare(startnum, endnum); //求出兩個站點間的站點數(shù)
    return countStation; //返回站點數(shù)
  }

  /////////////////////////////////////////////////////////////////////////////
  public int compare(int a, int b) {
    //功能:計算兩個整數(shù)之差
    //返回值:整形,兩數(shù)之差
    int c = 0;
    if (a >= b) {
      c = a - b;
    }
    else
      c = b - a;
    return c;
  }

  /////////////////////////////////////////////////////////////////////////////
  public Vector search_Station(String station_name) {
    //功能:輸入站點名稱,輸出經(jīng)過該站點的車次,精確查詢
    //返回值:車次號向量
    conndb.connectDb(databasename);
    int line_number;
    Vector linenum_vector = new Vector(); //車次號向量
    linenum_vector.removeAllElements();
    String sql = "select 車次號 from stationinfo where 站點名=" + "'" + station_name +
        "'" + "";
    ResultSet rs;
    try {
      rs = conndb.stmt.executeQuery(sql);
      while (rs.next()) {
        line_number = rs.getInt("車次號"); //取出結(jié)果集中的車次號
        linenum_vector.addElement(Integer.toString(line_number)); //將車次號加入向量linenumVector
      }
      rs.close(); //關(guān)閉結(jié)果集
    }
    catch (SQLException e) {
      System.out.println(e);
    }
    return linenum_vector; //返回車次號向量
  }

  /////////////////////////////////////////////////////////////////////////////
  public Vector search_closeStation(String station_name) {
    //功能:輸入模糊站點名稱,輸出相近的站點名稱
    //返回值:站點名稱向量
    conndb.connectDb(databasename);
    String station_Name;
    Vector stationname_vector = new Vector(); //站點名向量
    stationname_vector.removeAllElements();
    String sql = "select distinct 站點名 from stationinfo where 站點名 like '%" +
        station_name + "%'";
    ResultSet rs;
    try {
      rs = conndb.stmt.executeQuery(sql);
      while (rs.next()) {
        station_Name = rs.getString("站點名");
        stationname_vector.addElement(station_Name);
      }
      rs.close();
    }
    catch (SQLException e) {
      System.out.println(e);
    }
    return stationname_vector;
  }

  /////////////////////////////////////////////////////////////////////////////
  public Vector search_LineProperty(int line_number) {
    //功能:輸入車次號,輸出該車次始發(fā)站,終點站,上行時間,下行時間,是否空調(diào)等屬性
    //返回值:所有屬性內(nèi)容的向量
    conndb.connectDb(databasename);
    String startstation, starttime, endstation, endtime, shifoukongtiao; //線路屬性
    Vector lineproperty_vector = new Vector(); //線路屬性向量
    Vector line_vector = new Vector(); //所有線路屬性集合向量
    lineproperty_vector.removeAllElements(); //向量清空
    line_vector.removeAllElements(); //向量清空
    String sql = "select 始發(fā)站,營運時間上,終點站,營運時間下,是否空調(diào) from businfo where 車次號=" +
        line_number + "";
    ResultSet rs;
    try {
      rs = conndb.stmt.executeQuery(sql); //執(zhí)行線路屬性搜索
      while (rs.next()) {
        startstation = rs.getString("始發(fā)站");
        starttime = rs.getString("營運時間上");
        endstation = rs.getString("終點站");
        endtime = rs.getString("營運時間下");
        shifoukongtiao = rs.getString("是否空調(diào)");
        lineproperty_vector.addElement(startstation);
        lineproperty_vector.addElement(starttime);
        lineproperty_vector.addElement(endstation);
        lineproperty_vector.addElement(endtime);
        lineproperty_vector.addElement(shifoukongtiao);
        line_vector.add(lineproperty_vector); //將線路屬性加入向量vector
      }
      rs.close();
    }
    catch (SQLException e) {
      System.out.println(e);
    }
    return line_vector;
  }

  /////////////////////////////////////////////////////////////////////////////
  public Vector search_Linestation(int line_number) {
    //功能:輸入車次號,輸出該車次經(jīng)過的站點
    //返回值:車次站點向量
    conndb.connectDb(databasename);
    String station_name; //站點名
    int station_number; //站點序號
    Vector line_vector = new Vector(); //該車次站點向量
    line_vector.removeAllElements();
    String sql = "select 序號,站點名 from stationinfo where 車次號=" + line_number;
    ResultSet rs;
    try {
      rs = conndb.stmt.executeQuery(sql);
      while (rs.next()) {
        Vector station_vector = new Vector(); //站點向量
        station_number = rs.getInt("序號");
        station_name = rs.getString("站點名");
        station_vector.addElement(Integer.toString(station_number)); //序號加入站點向量
        station_vector.addElement(station_name); //站點名加入站點向量
        line_vector.add(station_vector); //站點向量加入車次站點向量
      }
      rs.close();
    }
    catch (SQLException e) {
      System.out.println(e);
    }
    return line_vector;
  }

  /////////////////////////////////////////////////////////////////////////////
  public Vector search_nonstop(String start_station, String end_station) {
    //功能 :輸入起始站和終點站,查詢可直達的車次
    //返回值:可直達車次向量
    conndb.connectDb(databasename);
    Vector nonstop_vector = new Vector(); //可直達車次向量
    nonstop_vector.removeAllElements();
    int line_number;
    String sql = "select 車次號,序號 from stationinfo  where  站點名= '" +
        start_station + "' and 車次號 in(select 車次號 from stationinfo where 站點名='" +
        end_station + "')";
    ResultSet rs;
    //站點均存在,進行查詢。
    try {
      rs = conndb.stmt.executeQuery(sql);
      while (rs.next()) {
        line_number = rs.getInt("車次號");
        nonstop_vector.addElement(Integer.toString(line_number));
      }
      rs.close();
    }
    catch (SQLException e) {
      System.out.println(e);
    }
    return nonstop_vector;
  }

  /////////////////////////////////////////////////////////////////////////////
  public Vector vector_intersection(Vector a, Vector b) {
    //功能:求兩個向量的交集
    //返回值:交集向量
    conndb.connectDb(databasename);
    Vector intersection = new Vector(); //交集向量
    int a_length, b_length;
    a_length = a.size(); //向量a的長度
    b_length = b.size(); //向量b的長度
    for (int i = 0; i < a_length; i++) {
      String a_element = a.get(i).toString();
      for (int j = 0; j < b_length; j++) {
        String b_element = b.get(j).toString();
        if (a_element.equalsIgnoreCase(b_element)) {
          intersection.add(b_element);
          break;
        }
      }
    }
    return intersection; //返回交集
  }

  /////////////////////////////////////////////////////////////////////////////
  public Vector search_oncechange(String start_station, String end_station) {
    //功能: 輸入起始站和終止站,查詢一次換乘方案,換乘站點,乘車車次
    //返回值:一次乘車向量,先乘車次,換乘站點,換乘車次
    conndb.connectDb(databasename);
    String start_station_name, end_station_name;
    Vector start_station_vector = new Vector(); //經(jīng)過站點start_station的車次所經(jīng)過的站點向量
    Vector end_station_vector = new Vector(); //經(jīng)過站點end_station的車次所經(jīng)過的站點向量
    Vector change_station_vector = new Vector(); //換乘站點向量
    Vector change_start_vector = new Vector(); //先乘車次向量集
    Vector change_end_vector = new Vector(); //換乘車次向量集
    Vector change_solution_vector = new Vector(); //換乘方案向量集

    change_solution_vector.removeAllElements();
    int start_station_length, end_station_length, change_station_length;
    String sql1 = "select distinct 站點名 from stationinfo where 車次號 in(select distinct 車次號 from stationinfo where 站點名=" +
        "'" + start_station + "'" + ")";
    String sql2 = "select distinct 站點名 from stationinfo where 車次號 in(select distinct 車次號 from stationinfo where 站點名=" +
        "'" + end_station + "'" + ")";
    ResultSet rs1, rs2;
    try {
      rs1 = conndb.stmt.executeQuery(sql1);
      while (rs1.next()) {
        start_station_name = rs1.getString("站點名");
        start_station_vector.addElement(start_station_name); //將站點加入start_station_vector向量
      }
      start_station_length = start_station_vector.size(); //向量start_station_vector的長度
      rs1.close(); //關(guān)閉結(jié)果集
      rs2 = conndb.stmt.executeQuery(sql2);
      while (rs2.next()) {
        end_station_name = rs2.getString("站點名");
        end_station_vector.addElement(end_station_name); //將站點加入end_station_vector向量
      }
      end_station_length = end_station_vector.size(); //向量end_station_vector的長度
      rs2.close(); //關(guān)閉結(jié)果集
    }
    catch (SQLException e) {
      System.out.println(e);
    }
    change_station_vector = vector_intersection(start_station_vector,
                                                end_station_vector); //交集向量,換乘站點向量
    change_station_length = change_station_vector.size();
    for (int i = 0; i < change_station_length; i++) { //換乘方案
      Vector line_start_vector = new Vector(); //先乘車次向量
      Vector line_end_vector = new Vector(); //換乘車次向量
      Vector change_vector = new Vector(); //換乘方案向量
      //change_vector.removeAllElements();//先清空換乘方案向量
      String sql3 = "select  distinct 車次號 from stationinfo  where  站點名= '" +
          start_station +
          "' and 車次號 in(select distinct 車次號 from stationinfo where 站點名='" +
          change_station_vector.get(i).toString().trim() + "')";
      ResultSet rs3, rs4;
      try {
        rs3 = conndb.stmt.executeQuery(sql3); //求出先乘車次號
        while (rs3.next()) {
          line_start_vector.addElement(Integer.toString(rs3.getInt("車次號")));
        }
        //change_start_vector.add(line_start_vector);//先乘車次向量
        rs3.close();
        String sql4 = "select  distinct 車次號 from stationinfo  where  站點名= '" +
            change_station_vector.get(i).toString().trim() +
            "' and 車次號 in(select distinct 車次號 from stationinfo where 站點名='" +
            end_station + "')";
        rs4 = conndb.stmt.executeQuery(sql4);
        while (rs4.next()) {
          line_end_vector.addElement(Integer.toString(rs4.getInt("車次號")));
        }
        //change_end_vector.add(line_end_vector);//換乘車次向量
        rs4.close();
      }
      catch (SQLException e) {
        System.out.println(e);
      }
      change_vector.add(line_start_vector);
      change_vector.add(change_station_vector.get(i).toString());
      change_vector.add(line_end_vector);
      change_solution_vector.add(change_vector);
    }
    //說明1:先乘車次向量change_start_vector內(nèi)容是向量。
    //說明2:換乘車次向量change_end_vector內(nèi)容是向量。
    //說明3:先乘車次向量和換乘車次向量和換乘站點向量長度是一樣的。
    //說明4:換乘方案向量change_vector內(nèi)容是:先乘車次向量,換乘站點,換乘車次向量
    //說明5:換乘方案向量集change_solution_vector內(nèi)容是換乘方案向量
    return change_solution_vector;
  }

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区三区在线不卡| 久久嫩草精品久久久精品| 国产呦萝稀缺另类资源| 青青青爽久久午夜综合久久午夜| 亚洲一区二区欧美日韩| 亚洲精品乱码久久久久久久久| 日本一区二区三区免费乱视频| 欧美成人精品1314www| 777奇米四色成人影色区| 51久久夜色精品国产麻豆| 欧美浪妇xxxx高跟鞋交| 在线播放一区二区三区| 欧美电视剧免费全集观看| 精品久久久久久久久久久久久久久| 欧美一二三区在线观看| 精品国产乱码久久久久久1区2区 | 国产成人丝袜美腿| 高清成人免费视频| 在线观看日产精品| 欧美人妇做爰xxxⅹ性高电影| 精品三级在线观看| 中文字幕一区二区三区精华液| 亚洲在线中文字幕| 精品一区中文字幕| 99国产精品久| 日韩精品一区二区三区视频在线观看| 精品国产一区二区三区忘忧草| 国产精品欧美经典| 亚洲一二三四区| 美国毛片一区二区三区| 高清不卡一二三区| 精品视频1区2区| 久久久久久综合| 亚洲精品高清在线| 国产一区二区h| 欧美日韩在线精品一区二区三区激情| 欧美videos中文字幕| 亚洲视频图片小说| 精品一区二区三区av| 色88888久久久久久影院按摩| 精品日产卡一卡二卡麻豆| 国产精品免费免费| 久久99精品一区二区三区三区| av亚洲精华国产精华精| 精品少妇一区二区三区视频免付费| 一区二区三区美女| 国产白丝精品91爽爽久久| 欧美精品三级在线观看| 国产精品拍天天在线| 久久精品国产99国产精品| 色婷婷狠狠综合| 欧美激情一区二区在线| 五月天亚洲婷婷| 欧日韩精品视频| 1024国产精品| 国产69精品久久久久777| 精品国产成人在线影院| 日韩精品一级中文字幕精品视频免费观看| eeuss鲁一区二区三区| 精品国产乱码久久久久久闺蜜| 亚洲国产精品一区二区www| 91丨九色porny丨蝌蚪| 国产精品久99| 高清视频一区二区| 国产欧美在线观看一区| 国产伦精一区二区三区| 日韩一区二区三区电影| 免费在线看成人av| 日韩欧美一区中文| 美女网站色91| 欧美xxxxxxxx| 国产精品夜夜爽| 中文字幕欧美日韩一区| 成人免费黄色在线| 国产精品国产三级国产aⅴ入口 | 久久久亚洲精品一区二区三区| 免费观看91视频大全| 欧美精选一区二区| 美女www一区二区| 久久综合久久99| 国产白丝网站精品污在线入口| 日本一区二区三区国色天香 | 日韩va亚洲va欧美va久久| 欧美日韩日本视频| 欧美aaaaaa午夜精品| 国产午夜久久久久| 91丨porny丨蝌蚪视频| 一区二区在线免费观看| 欧美日韩激情一区二区| 久久成人18免费观看| 国产欧美一区二区精品性色超碰| 91在线免费播放| 天天色综合天天| 久久久久久久精| 日本精品一级二级| 久久精品国产免费| 国产精品久久二区二区| 欧美私模裸体表演在线观看| 男男视频亚洲欧美| 国产精品第一页第二页第三页| 在线精品视频小说1| 美女爽到高潮91| 亚洲少妇30p| 日韩一区二区三区电影| av在线不卡电影| 青青草一区二区三区| 中文字幕欧美区| 91精品国产综合久久精品app| 韩国午夜理伦三级不卡影院| 亚洲乱码国产乱码精品精98午夜 | 亚洲精品网站在线观看| 欧美一级黄色大片| 不卡欧美aaaaa| 奇米影视一区二区三区| 18欧美亚洲精品| 精品少妇一区二区三区免费观看| 91麻豆福利精品推荐| 国产做a爰片久久毛片| 亚洲一级二级在线| 成人欧美一区二区三区小说| 欧美精品一区二区三区在线| 欧美自拍偷拍一区| 国产成人亚洲综合a∨婷婷| 日本不卡一区二区三区高清视频| 中文字幕一区二区三区色视频 | 三级成人在线视频| 国产精品人人做人人爽人人添| 日韩欧美的一区二区| 欧美性感一类影片在线播放| 成人动漫中文字幕| 国产精品夜夜嗨| 国产又黄又大久久| 精品一区二区三区欧美| 午夜精品免费在线| 亚洲二区在线观看| 亚洲精品国产成人久久av盗摄 | 欧美日韩一卡二卡三卡| 色综合夜色一区| 成人av在线播放网站| 国产精品白丝jk黑袜喷水| 麻豆成人91精品二区三区| 三级影片在线观看欧美日韩一区二区| 亚洲狠狠丁香婷婷综合久久久| 中文字幕日韩一区二区| 中文字幕av一区二区三区| 国产精品丝袜黑色高跟| 亚洲国产高清在线观看视频| 国产欧美综合在线| 国产精品理论片| 亚洲欧美日韩国产综合| 亚洲激情欧美激情| 亚洲影院久久精品| 午夜婷婷国产麻豆精品| 丝袜国产日韩另类美女| 日韩av不卡一区二区| 首页欧美精品中文字幕| 毛片av中文字幕一区二区| 激情五月婷婷综合| 99国产精品久久| 99久久综合精品| 色噜噜狠狠成人网p站| 欧美无砖专区一中文字| 在线观看91精品国产麻豆| 欧美白人最猛性xxxxx69交| 久久久噜噜噜久噜久久综合| 国产精品伦理在线| 一区二区三区在线观看视频| 亚洲成人av电影在线| 秋霞成人午夜伦在线观看| 国产乱码精品一区二区三区忘忧草 | 一区二区三区电影在线播| 亚洲国产日韩av| 久久超级碰视频| 成人aaaa免费全部观看| 91麻豆国产自产在线观看| www久久久久| 一区二区三区久久| 美女精品自拍一二三四| 成人av网在线| 欧美一区二区日韩一区二区| 久久久精品一品道一区| 亚洲最大的成人av| 麻豆成人综合网| 成人av电影在线观看| 欧美丰满高潮xxxx喷水动漫| 中文字幕第一区| 日精品一区二区三区| 成人一区二区视频| 欧美日韩成人综合天天影院 | 一区二区在线观看视频在线观看| 日韩电影在线一区| 91在线视频免费观看| 制服丝袜亚洲色图| 国产精品福利电影一区二区三区四区| 亚洲成人av一区二区| 成人久久18免费网站麻豆| 91精品国产手机| 亚洲一区二区三区精品在线| 美女在线视频一区| 色狠狠桃花综合|