1 packagesubway;2 import java.util.*;3 import java.io.*;4 import java.math.*;5 classSubway {6 private String num;//存放线路号
7 private String[] str=new String[21];//存放站点名称
8 private String str1;//存放换乘站点信息
9 publicSubway() {10 num="0";11 for(int j=0;j<21;j++) {12 str[j]=" ";13 }14 str1="新百广场";15 }16 public void get() {//输出线路信息
17 System.out.print(num+"号线:");18 for(int i=0;str[i]!=" ";i++) {19 System.out.print("站点"+(i+1)+":"+str[i]+";");20 }21 System.out.println();22 }23 public int chaxun(String t1,String t2,Subway s1,Subway s2) {//查询两个站点间的经过站点
24 int k,k1=0,k2=0;25 boolean bo1=false;26 boolean bo2=false;27 List list1=Arrays.asList(s1.str);28 List list2=Arrays.asList(s2.str);29 if(list1.contains(t1)&&list1.contains(t2)) {30 k1=list1.indexOf(t1);31 k2=list1.indexOf(t2);32 k=Math.abs(k1-k2);33 System.out.println("经过"+k+"站");34 if(k1k2) {41 while(k1>=k2) {42 System.out.println(s1.str[k1]);43 --k1;44 }45 }46 returnk;47 }//end if1
48 if(list2.contains(t1)&&list2.contains(t2)) {49 k1=list2.indexOf(t1);50 k2=list2.indexOf(t2);51 k=Math.abs(k1-k2);52 System.out.println("经过"+k+"站");53 if(k1k2) {60 while(k1>=k2) {61 System.out.println(s2.str[k1]);62 --k1;63 }64 }65 returnk;66 }//end if2
67 else{68 int k3=0,k4=0;69 if(list1.contains(t1)) {70 k1=list1.indexOf(t1);71 k3=Math.abs(k1-14);72 bo1=true;73 }74 if(list1.contains(t2)) {75 k2=list1.indexOf(t2);76 k4=Math.abs(k2-14);77
78 }79 if(list2.contains(t1)) {80 k1=list2.indexOf(t1);81 k3=Math.abs(k1-1);82 bo2=true;83 }84 if(list2.contains(t2)) {85 k2=list1.indexOf(t2);86 k4=Math.abs(k1-1);87 }88 k=k3+k4;89 System.out.println("经过"+k+"站");90 if(bo1==true) {91 if(k1>14) {92 while(k1>=14) {93 System.out.println(s1.str[k1]);94 --k1;95 }96 System.out.println("转乘3号线");97 }98 else if(k1<14) {99 while(k1<=14) {100 System.out.println(s1.str[k1]);101 ++k1;102 }103 System.out.println("转乘3号线");104 }105 int i=1;106 if(k2>i) {107 while(ik2) {114 System.out.println(s2.str[i-1]);115 --i;116 }117 }118
119 }//end if1
120 else if(bo2==true) {121 if(k1>1) {122 while(k1>=1) {123 System.out.println(s2.str[k1]);124 --k1;125 }126 System.out.println("转乘1号线");127 }128 else if(k1<1) {129 while(k1<=1) {130 System.out.println(s2.str[k1]);131 ++k1;132 }133 System.out.println("转乘1号线");134 }135 int i=14;136 if(k2>i) {137 while(ik2) {144 System.out.println(s1.str[i-1]);145 --i;146 }147 }148 }//end if2
149
150
151
152 returnk;153 }//end else
154 }155 public void goupiao(int k,int q) {//计算票价
156 int x=1,k3=1,k4=1;157 k3=k/3;158 k4=k-k3*3;159 if(k4==0) {160 x=k3;161 }162 else{163 x=(k3+1);164 }165
166 System.out.println("购票单价:"+x);167 System.out.println("购票总价:"+x*q);168 }169 public voidreadFile(Subway s1,Subway s2) {170
171 try{172 BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("shijiazhuang-subway.txt"),"UTF-8"));173 s1.num=br.readLine();174 String line;175 while ((line = br.readLine()) != null) {176 int i=0;177 String [] arr = line.split("\\s+");178 for(String ss : arr){179 s1.str[i]=ss;180 i++;181 }182 break;183 }//end while
184 while ((line = br.readLine()) != null) {185 s1.str1=line;186 break;187 }188 while ((line = br.readLine()) != null) {189 s2.num=line;190 break;191 }192
193
194 while ((line = br.readLine()) != null) {195 int i=0;196 String [] arr = line.split("\\s+");197 for(String ss : arr){198 s2.str[i]=ss;199 i++;200 }201 break;202 }//end while
203 while ((line = br.readLine()) != null) {204 s2.str1=br.readLine();205 break;206 }207
208
209
210 }//end try
211 catch(IOException e){212 e.printStackTrace();213 }214
215 }//end readFile
216
217
218
219
220
221 }