计应192西—第一组—王晶宇
这个代码主要是对郑州地铁部分线路做的一个收费和时间计算的程序,使用了两个dowhile循环,遍历list集合,if-elseif-else语句完成。
package aa;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Client {
public static void main(String[] args) {
List al = new ArrayList();
int N1 ;
int N2;
double T = 2.5;
al.add("河南工业大学");
al.add("郑大科技园");
al.add("郑州大学");
al.add("梧桐街");
al.add("兰寨");
al.add("铁炉");
al.add("市民中心");
al.add("西流湖");
al.add("西三环");
al.add("秦岭路");
al.add("五一公园");
al.add("碧沙岗");
al.add("绿城广场");
System.out.println("\n"+"欢迎使用地铁系统");
System.out.println("===========================");
for(int i = 0;i < al.size();i++) {
System.out.print("第"+(i+1)+"站:"+al.get(i) +"\t");
if((i+1)%5 == 0) {
System.out.println();
}
}
System.out.println("\n"+"===========================");
do {
System.out.println("请输入上车站");
Scanner sc = new Scanner(System.in);
String name1 = sc.nextLine();
if(al.contains(name1)) {
N1 = al.indexOf(name1);
break;
}else {
System.out.println("您输入的上车站"+ name1 +"不存在!!!");
}
} while (true) ;
do {
System.out.println("请输入下车站");
Scanner sc = new Scanner(System.in);
String name2 = sc.nextLine();
if(al.contains(name2)) {
N2 = al.indexOf(name2);
break;
}else {
System.out.println("您输入的到达站:"+ name2 + "不存在");
}
} while (true) ;
if(Math.abs(N2 - N1)< 3) {
System.out.println("从" + al.get(N2) + "到" + al.get(N1) + "共经过" + Math.abs(N2 - N1) + "站," +"收费3元"+ "大约需要" + (T*Math.abs(N2 - N1)) + "分钟");
}else if(Math.abs(N2 - N1) >3 && Math.abs(N2 - N1) <= 5) {
System.out.println("从" + al.get(N2) + "到" + al.get(N1) + "共经过" + Math.abs(N2 - N1) + "站," +"收费4元"+ "大约需要" + (T*Math.abs(N2 - N1)) + "分钟");
}else {
if(4+(Math.abs(N2 - N1)-4)*2 >10) {
System.out.println("从" + al.get(N2) + "到" + al.get(N1) + "共经过" + Math.abs(N2 - N1) + "站," +"收费10元"+ "大约需要" + (T*Math.abs(N2 - N1)) + "分钟");
}else {
System.out.println("从" + al.get(N2) + "到" + al.get(N1) + "共经过" + Math.abs(N2 - N1) + "站," +"收费" +(4+(Math.abs(N2 - N1)-4)*2)+"元"+ "大约需要" + (T*Math.abs(N2 - N1)) + "分钟");
}
}
}
}