作者kevin771012 (卖小女孩的爷爷)
看板java
标题台铁票价查询程式(高雄到台南)
时间Wed Apr 22 23:32:16 2009
import java.util.Scanner;
public class text01 {
public static int calculate(int x, int y, int z){
//宣告里程
double[] a = { 325.1, 332.7, 336.7, 339.6, 342.6, 349.9, 353.9, 358.0, 363.1, 365.0, 371.8};
double ans = (a[x]- a[y]);
if(ans<0){
ans = (-1)*ans;
}
if(ans<10){
ans = 10;
if(z==0){
ans = (int) ans*1.46 + 1;
return (int)ans;
}else if(z==1){
ans = (int) ans*1.75 + 1;
return (int)ans;
}else if(z==2){
ans = (int) ans*2.27 + 1;
return (int)ans;
}
}
if(z==0){
ans = (int) ans*1.46 + 2;
return (int)ans;
}else if(z==1){
ans = (int) ans*1.75 + 2;
return (int)ans;
}else if(z==2){
ans = (int) ans*2.27 + 2;
return (int)ans;
}else{
ans = 0;
return (int)ans;
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//宣告站名
String[] a = {"台南", "保安", "中洲", "大湖", "路竹", "冈山", "桥头", "楠梓", "新左营", "左营", "高雄"};
//宣告火车种类
String[] b = {"区间车", "莒光号", "自强号"};
int x,y,z,i;
System.out.println("请问启程站是哪一站?");
//呼叫阵列
for(i=0;i<=10;i++){
System.out.print(i+1 + "." + a[i] + " ");
if(i==10){System.out.println("");}
}
x = scanner.nextInt() - 1;
System.out.println("请问终点站是哪一站?");
//呼叫阵列
for(i=0;i<=10;i++){
System.out.print(i+1 + "." + a[i] + " ");
if(i==10){System.out.println("");}
}
y = scanner.nextInt() - 1;
System.out.println("请选择火车种类");
//呼叫阵列
for(i=0;i<=2;i++){
System.out.print(i+1 + "." + b[i] + " ");
if(i==2){System.out.println("");}
}
z = scanner.nextInt() - 1;
System.out.println("您的启程站是" + a[x] + "," + "终点站是" + a[y] + "," + b[z] + "," + "票价为" + calculate(x, y, z) + "元");
}
}
可以请板上的高手们看一下程式码有累赘的部分吗?
刚刚写完这一支程式,觉得台铁A钱A很大
一张票多收1~2元
(叹气)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.24.253.9
1F:推 DevilVic:请问第5行的那些浮点数是代表什麽? 04/23 02:35
2F:→ kevin771012:台铁公布的里程表,每一站与台北站的距离 04/23 03:07
3F:推 yuekun:你要不要把别人挂server、DB、线路成本算进去 再算这两块钱 04/23 13:45
4F:推 MOONRAKER:一张几百块的票赚你一两块算啥,铁路局真正的A钱之道是 04/25 05:09
5F:推 MOONRAKER:短程区间统一票价,你去计较那个还差不多… 04/25 05:13