java 地铁线路_Java_地铁购票系统

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 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值