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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? search.java

?? 鄭州市公交線路管理查詢系統
?? JAVA
字號:
package com.ljz.gongJiaoSearch;
import javax.swing.*;
import java.awt.*;
import java.io.*;
import java.lang.reflect.Array;
import java.util.*;

public class Search{
	private static final boolean DEBUG=true;
	private static ArrayList LuXian;
	
	//獲取詳細解析后路線
	public String getPath2(){
		luXianObj=new ArrayList();
		ArrayList zz=new ArrayList();
		for(int w=0;w<luxian.size();w++){
			ArrayList a=null;
			String s=(String)luxian.get(w);
			String[] s2=s.split("-");
			String s1="";//記錄座位狀況  和  過站點數
			for(int i=0;i<s2.length-1;i++){
				a=getLuXian(a,s2[i],s2[i+1]);
			}
			for(int i=0;i<a.size();i++)
				zz.add(a.get(i));
		}
		//Debug(zz);
		for(int i=0;i<zz.size();i++){
			xiangXiJieXiLuXian((String)zz.get(i));
		}
		zz=null;
		
//		按過站點數排序
		Object[] zhanDianXinXiShuZu=luXianObj.toArray();
		Arrays.sort(zhanDianXinXiShuZu);
		//Debug(zhanDianXinXiShuZu);
		
	//輸出
		
		return outPut(zhanDianXinXiShuZu);
	}
	//詳細解析路線
	private ArrayList luXianObj=new ArrayList();
	public void xiangXiJieXiLuXian(String s){
		String[] k=s.split("-->");
		String zwei="";
		int zs=0;
		for(int i=0;i<k.length-1;i++){
			String r=k[i+1];
			int a=r.indexOf('*');
			String lxhao=r.substring(a+1,r.length());
			Debug("lkhao:  "+lxhao);
			String zd=r.substring(0, a);
			Debug("zd:  "+zd);
			
			int b=k[i].indexOf('*');
			String qd=k[i];
			if(b!=-1)
				qd=k[i].substring(0, b);
			
			zwei+=getZuoWeiXinXi(lxhao,qd);
			//+getZuoWeiXinXi(lxhao,zd)
			zs+=getGuoDianShu(lxhao, qd, zd);
		}
		
		luXianObj.add(new LuXianXinXi(s,zwei,zs));
	}
	//獲取路線
	public String getPath(String s){
		luxian=new ArrayList();
		kg=false;kg2=true;
		String[] s2=null;
		for(int m=0;m<g3.size();m++){
			s2=((String)g3.get(m)).split(" ");
			if(g3.get(m).equals(s)){
				break;
			}
		}
		//返回起點可以到達的點
		ArrayList k=getGuoDian(s2[1]);
		//查詢線路
		search(k,s2[2],s2[1]);
		//解釋線路
		k=interpret();
		String tr="";
		for(int i=0;i<k.size();i++)
			tr+=k.get(i)+"\n";
		if(tr.equals(""))
			tr="Sorry!Not Search!";
		return tr;
	}
	//返回所有可能的情況
	private ArrayList g3;
	public ArrayList getKeNeng(String s,String s2){
		ArrayList g=new ArrayList();
		for(int i=0;i<LuXian.size();i++){
			String t=(String)LuXian.get(i);
			if(t.indexOf(s)!=-1||t.indexOf(s2)!=-1){
				String[] r=t.split("%%%");
				for(int ii=1;ii<r.length-1;ii++)
					g.add(r[ii]);
			}
		}
		ArrayList g1=new ArrayList();
		ArrayList g2=new ArrayList();
		g3=new ArrayList();
		//Debug(g);
		for(int i=0;i<g.size();i++)
			if(((String)g.get(i)).indexOf(s)!=-1){
				boolean b=true;
				for(int pp=0;pp<g1.size();pp++){
					if(g1.get(pp).equals(g.get(i))){
						b=false;
						break;
					}
				}
				if(b)
					g1.add(g.get(i));
			}
		for(int i=0;i<g.size();i++)
			if(((String)g.get(i)).indexOf(s2)!=-1){
				boolean b=true;
				for(int pp=0;pp<g2.size();pp++){
					if(g2.get(pp).equals(g.get(i))){
						b=false;
						break;
					}
				}
				if(b)
					g2.add(g.get(i));
			}
		int p=0;
		for(int i=0;i<g1.size();i++){
			for(int j=0;j<g2.size();j++){
				g3.add(++p+" "+g1.get(i)+" "+g2.get(j));
			}
		}
		return g3;
	}
	//interpret
	public ArrayList interpret(){
		ArrayList g=new ArrayList();
		for(int w=0;w<luxian.size();w++){
			String s=(String)luxian.get(w);
			String[] s2=s.split("-");
			String k="";
			k+=s2[0]+"-->"+s2[1]+getLuXian(s2[0],s2[1]);
			for(int i=1;i<s2.length-1;i++){
				k+="-->"+s2[i+1]+getLuXian(s2[i],s2[i+1]);
			}
			g.add(k);
		}
		return g;
	}
	//search
	boolean kg=false,kg2=true;
	ArrayList luxian=new ArrayList();
	
	public void search(ArrayList k,String zd,String parent){
		if(isInclude(k,zd)){
			kg=true;
			luxian.add(parent+"-"+zd);
		}
		if(kg){
			return;
		}	
		if(k.size()<=0||zd==null||parent==null||parent.split("-").length>3){
			Debug("error!,not search!");
//			JOptionPane.showMessageDialog(null, "多不起,系統無法找到合適路線!");
			return;
		}
		if(kg2){
			kg2=false;
			for(int i=0;i<k.size()-1;i++)
				search(getGuoDian((String)k.get(i)),zd,parent+"-"+k.get(i));
			kg2=true;
			search(getGuoDian((String)k.get(k.size()-1)),zd,parent+"-"+k.get(k.size()-1));
		}
	}
	//讀入路線
	static{
		LuXian=new ArrayList();
		File f=new File("zhengzhou.txt");
		if(!f.exists()||!f.canRead()){
			Debug("file read err!!");
		}else{
			try{
				BufferedReader read=new BufferedReader(new FileReader(f));
				String s="";
				while((s=read.readLine())!=null){
					LuXian.add(s);
				}
				read.close();
			}catch(Exception ee){
				ee.printStackTrace();
			}	
		}
	}
	//DEBUG
	public static void Debug(ArrayList k){
		if(DEBUG)
		for(int i=0;i<k.size();i++)
			Debug((String)k.get(i));
	}
	public static void Debug(Object[] k){
		if(DEBUG)
		for(int i=0;i<k.length;i++)
			Debug(k[i].toString());
	}
	public static void Debug(String s){
		if(DEBUG)
		System.out.println(s);
	}
	//輸出
	public String outPut(Object[] k){
		StringBuilder s=new StringBuilder();
		for(int i=0;i<k.length;i++)
			s.append(i+1+".  "+k[i]);
		return s.toString();
	}
	//返回起點可以到達的點
	public ArrayList getGuoDian(String n){
		ArrayList dian=new ArrayList();
		for(int w=0;w<LuXian.size();w++){
			String s=(String)LuXian.get(w);
			if(s.indexOf(n)!=-1){
				//Debug(s);
				String[] d=s.split("%%%");
				for(int j=1;j<d.length-1;j++){
					boolean b=true;
					for(int z=0;z<dian.size();z++){
						if(dian.get(z).equals(d[j])||d[j].equals(n)){
							b=false;
							break;
						}
					}
					if(b)
						dian.add(d[j]);
				}	
			}
		}
		return dian;
	}
	//根據起點和終點返回路線
	public String getLuXian(String q,String z){
		ArrayList luxian=new ArrayList();
		for(int w=0;w<LuXian.size();w++){
			String s=(String)LuXian.get(w);
			if(s.indexOf(q)!=-1&&s.indexOf(z)!=-1){
				int k=s.indexOf("%%%");
				luxian.add(s.substring(0,k));
			}
		}
		String b="";
		for(int q1=0;q1<luxian.size();q1++){
			b+=luxian.get(q1)+",";
		}
		if(!b.equals(""))
			b=b.substring(0,b.length()-1);
		b="("+b+")";
		return b;
	}
	//返回詳細路線
	public ArrayList getLuXian(ArrayList a,String q,String z){
		//獲取含有標記的路線
		ArrayList luxian=new ArrayList();
		for(int w=0;w<LuXian.size();w++){
			String s=(String)LuXian.get(w);
			if(s.indexOf(q)!=-1&&s.indexOf(z)!=-1){
				int k=s.indexOf("%%%");
				luxian.add(s.substring(0,k));
			}
		}
		ArrayList ls=new ArrayList();
		if(a==null){
			for(int i=0;i<luxian.size();i++)
				ls.add(q+"-->"+z+"*"+luxian.get(i));
		}else{
			for (int i = 0; i < a.size(); i++) {
				for (int j = 0; j < luxian.size(); j++) {
					ls.add(""+a.get(i)+"-->"+z+"*"+luxian.get(j));
				}
			}
		}
		return ls;
	}
	//檢驗點群里是否含有終點
	public boolean isInclude(ArrayList k,String zd){
		for(int i=0;i<k.size();i++)
			if(k.get(i).equals(zd))
				return true;
		return false;
	}
	//返回所有線路號集合
	public String[] getHaos(){
		String[] b=new String[LuXian.size()];
		for(int i=0;i<LuXian.size();i++){
			String[] z=((String)LuXian.get(i)).split("%%%");
			b[i]=z[0];
		}
		return b;
	}
	//返回某條線路的詳細信息
	public String getXiangXi(String s){
		String[] z=null;
		for(int i=0;i<LuXian.size();i++){
			z=((String)LuXian.get(i)).split("%%%");
			if(s.equals(z[0])){
				break;
			}
		}
		String k="";
		k+="名稱:"+z[0]+"\n路線:";
		for(int i=1;i<z.length-2;i++){
			k+=z[i]+"->";
		}
		k+=z[z.length-2]+"\n說明:"+z[z.length-1];
		return k;
	}
	//返回某條路線上的所有站點
	public  String[] fanHuiZhanDian(String s) {
		String[] z=null;
		for(int i=0;i<LuXian.size();i++){
			z=((String)LuXian.get(i)).split("%%%");
			if(s.equals(z[0])){
				break;
			}
		}
		String[] k=new String[z.length-2];
		for (int i = 1; i < z.length-1; i++) {
			k[i-1]= z[i];
		}
		return k;
	}
	//分析經過多少站點(經過站點列表,站點總數,大約千米數)
	public int getGuoDianShu(String luxian,String qd,String zd){
		String[] s=fanHuiZhanDian(luxian);
		int i = 0;//終點位置
		for (; i < s.length; i++) 
			if(zd.equals(s[i]))
				break;
		int ii = 0;//起點位置
		for (; ii < s.length;ii++) 
			if(qd.equals(s[ii]))
				break;
		return Math.abs(i-ii);
	}
	//分析站點座位情況
	public String getZuoWeiXinXi(String luxian,String qd){//qd為乘坐點,zd為到達點
		String[] s=fanHuiZhanDian(luxian);
		//int i = 0;//終點位置
		//for (; i < s.length; i++) 
		//	if(zd.equals(s[i]))
		//		break;
		int ii = 0;//起點位置
		for (; ii < s.length;ii++) 
			if(qd.equals(s[ii]))
				break;
		int j=s.length;
		//計算
		if(ii<4 || ii>j-3){//逆行
			return qd+":有座位   ";
		}
		return qd+":無座位   ";
	}
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
337p粉嫩大胆噜噜噜噜噜91av | 国产99久久久精品| 国产精品亚洲а∨天堂免在线| 成人午夜视频在线观看| 欧美中文字幕一二三区视频| 欧美电影影音先锋| 国产欧美日韩综合| 亚洲精品视频自拍| 蜜桃视频免费观看一区| 国产成人精品三级| 欧美日韩精品一区二区| 亚洲制服丝袜av| 首页综合国产亚洲丝袜| 成人中文字幕在线| 欧美人成免费网站| 国产日本欧美一区二区| 亚洲国产aⅴ天堂久久| 国产毛片精品视频| 欧美色大人视频| 久久综合久久久久88| 一区二区三区免费看视频| 麻豆freexxxx性91精品| 色综合天天狠狠| 欧美xxxxxxxx| 亚洲永久免费视频| 丁香啪啪综合成人亚洲小说| 欧美日韩极品在线观看一区| 中文字幕精品一区二区三区精品 | 欧美亚洲动漫另类| 国产亚洲精久久久久久| 五月天激情小说综合| 丁香六月综合激情| 精品久久久久99| 亚洲黄色小视频| 国产在线一区观看| 欧美精品vⅰdeose4hd| 18欧美亚洲精品| 国产一区二区三区在线观看免费视频 | 在线视频欧美精品| 国产视频911| 久久福利视频一区二区| 色婷婷综合激情| 欧美激情在线看| 国产在线播精品第三| 欧美日韩精品一区二区三区四区| 国产精品初高中害羞小美女文| 捆绑紧缚一区二区三区视频| 欧美日韩中文字幕精品| 亚洲婷婷综合久久一本伊一区 | 欧美激情中文不卡| 狠狠网亚洲精品| 91精品国产乱码| 一区二区久久久久久| eeuss鲁一区二区三区| 久久久久久久综合狠狠综合| 蜜臀久久久99精品久久久久久| 欧美日韩亚洲不卡| 亚洲国产成人av| 欧美色图在线观看| 一区二区三区久久| 99久久精品免费观看| 中文字幕精品综合| 成人免费不卡视频| 欧美国产精品中文字幕| 国产精品影音先锋| 久久综合九色综合欧美就去吻| 蜜臀久久久久久久| 欧美一区二区三区婷婷月色| 亚洲成人你懂的| 欧美日韩成人一区| 天天色综合成人网| 欧美日韩精品一区二区在线播放 | 精品视频1区2区| 一区二区三区高清| 欧美午夜精品免费| 亚洲成人动漫在线免费观看| 欧美日韩亚洲综合一区二区三区| 亚洲一区二区三区激情| 欧美精品丝袜中出| 全部av―极品视觉盛宴亚洲| 91精品国产福利| 久久99久久久欧美国产| 久久久蜜臀国产一区二区| 国产福利精品一区| 中文欧美字幕免费| 97精品久久久久中文字幕| 亚洲三级电影全部在线观看高清| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲丝袜精品丝袜在线| 欧洲亚洲国产日韩| 婷婷综合在线观看| 欧美一区二区三区免费在线看| 免费在线一区观看| 欧美精品一区二区三区蜜臀| 国产精品一区二区三区99| 国产精品久久久久久亚洲毛片| 91在线视频在线| 亚洲电影第三页| 精品久久久久一区| jvid福利写真一区二区三区| 亚洲精品国产成人久久av盗摄 | 狠狠狠色丁香婷婷综合久久五月| 国产丝袜在线精品| 欧美在线免费观看视频| 毛片不卡一区二区| 国产精品不卡视频| 88在线观看91蜜桃国自产| 国产一区不卡精品| 亚洲欧美另类综合偷拍| 7777精品伊人久久久大香线蕉的| 国产一区二区三区免费播放| 亚洲视频在线一区二区| 制服丝袜在线91| 成人中文字幕合集| 视频一区二区国产| 国产精品五月天| 欧美剧情电影在线观看完整版免费励志电影| 玖玖九九国产精品| 亚洲人被黑人高潮完整版| 欧美一级午夜免费电影| 成人免费毛片高清视频| 亚洲图片有声小说| 精品国产91亚洲一区二区三区婷婷| 亚洲电影中文字幕在线观看| 2023国产精华国产精品| 99久久国产综合色|国产精品| 亚洲成人av在线电影| 久久一夜天堂av一区二区三区| av一区二区三区黑人| 日韩一区精品视频| 精品免费日韩av| 色婷婷久久99综合精品jk白丝| 日韩制服丝袜先锋影音| 国产日韩精品一区二区三区| 欧美顶级少妇做爰| 成人夜色视频网站在线观看| 亚洲国产综合人成综合网站| 精品国产三级电影在线观看| 国产成人自拍网| 日本在线不卡视频| 国产欧美精品一区二区色综合朱莉| 91毛片在线观看| 蜜桃视频在线一区| 国产精品婷婷午夜在线观看| 日韩欧美成人激情| 色综合久久久久综合| 精品亚洲成av人在线观看| 一区二区在线观看视频| 国产欧美日韩激情| 日韩午夜三级在线| 成人黄色软件下载| 久久国产精品色婷婷| 亚洲一区影音先锋| 国产日韩欧美制服另类| 久久综合99re88久久爱| 欧美日韩精品一区二区在线播放 | 91精品国产日韩91久久久久久| 91啪九色porn原创视频在线观看| 免播放器亚洲一区| 一区二区成人在线视频| 国产肉丝袜一区二区| 精品久久久久久久久久久院品网| 色久综合一二码| 国产成人亚洲综合色影视| 日韩电影在线观看网站| 国产精品久久久一本精品 | 日韩成人免费看| 亚洲激情第一区| 国产欧美日韩在线视频| 日韩精品自拍偷拍| 欧美乱妇23p| 91久久精品日日躁夜夜躁欧美| 丝袜国产日韩另类美女| 爽好多水快深点欧美视频| 一区二区三区成人| 中文字幕亚洲成人| 久久精品水蜜桃av综合天堂| 久久青草欧美一区二区三区| 日韩亚洲欧美在线| 欧美疯狂做受xxxx富婆| 欧洲av一区二区嗯嗯嗯啊| 欧美色男人天堂| 日本久久一区二区| 91在线精品秘密一区二区| 高清不卡在线观看av| 久久99精品久久久| 看电视剧不卡顿的网站| 日韩精品一二三四| 日日欢夜夜爽一区| 一区二区三区高清| 五月天久久比比资源色| 午夜精彩视频在线观看不卡| 亚洲午夜一区二区三区| 中文天堂在线一区| 亚洲免费观看高清完整版在线| 成人免费视频在线观看| 亚洲欧美福利一区二区| 国产精品美女久久久久aⅴ国产馆| 最好看的中文字幕久久| 综合在线观看色|