台鐵票價查詢程式(高雄到台南)
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
推
04/23 02:35, , 1F
04/23 02:35, 1F
→
04/23 03:07, , 2F
04/23 03:07, 2F
推
04/23 13:45, , 3F
04/23 13:45, 3F
推
04/25 05:09, , 4F
04/25 05:09, 4F
推
04/25 05:13, , 5F
04/25 05:13, 5F