题目描述:
设计程序实现输入日期及机票张数,计算出应付金额。假设北京至上海的机票全价为
1200 元/张,以 2017 年为例进行程序编写,所有的法定假日,机票无折扣;除法定假日
之外的周末,机票价格为 8 折;除法定假日及周末之外的工作日,机票价格为 6 折。(提
示:只需考虑月份及日期)。
————————————————————————————————————————
友情提示:在借鉴之前还请认真思考哦qwq
一个无比暴力的写法
代码如下:
import java.util.Scanner; public class Prices { public static void main(String args[]){ Scanner reader = new Scanner(System.in); System.out.println("请输入月份"); int time[][] = new int[14][35], x, y, z; x = reader.nextInt(); System.out.println("\n请输入日期"); y = reader.nextInt(); System.out.println("\n请输入票数"); z = reader.nextInt(); time[1][1]=1; time[1][2]=1; time[1][27]=1; time[1][28]=1; time[1][29]=1; time[1][30]=1; time[1][31]=1; time[2][1]=1; time[2][2]=1; time[4][2]=1; time[4][3]=1; time[4][4]=1; time[4][29]=1; time[4][30]=1; time[5][1]=1; time[5][28]=1; time[5][29]=1; time[5][30]=1; time[10][1]=1; time[10][2]=1; time[10][3]=1; time[10][4]=1; time[10][5]=1; time[10][6]=1; time[10][7]=1; time[10][8]=1; time[12][30]=1; time[12][31]=1; if(time[x][y]==1){ System.out.println("价格为:"); System.out.println(1200*z); } else{ Day day = new Day(); int result = day.judge(x, y); if(result==1){ System.out.println("价格为:"); System.out.println(1200*z*0.8); } else{ System.out.println("价格为:"); System.out.println(1200*z*0.6); } } } } class Day{ int judge(int x, int y){ if(x==1 || x==10){ if(y%7==0 || (y-1)%7==0){ return 1; } else return 0; } else if(x==2 || x==3 || x==11){ if((y-4)%7==0 || (y-5)%7==0){ return 1; } else return 0; } else if(x==4 || x==7){ if((y-1)%7==0 || (y-2)%7==0){ return 1; } else return 0; } else if(x==5){ if((y-6)%7==0 || (y-7)%7==0){ return 1; } else return 0; } else if(x==6){ if((y-3)%7==0 || (y-4)%7==0){ return 1; } else return 0; } else if(x==8){ if((y-5)%7==0 || (y-6)%7==0){ return 1; } else return 0; } else if(x==9 || x==12) { if ((y-2)%7==0 || (y-3)%7==0) { return 1; } else return 0; } else return 0; } }
没有任何技巧可言,满满的全是暴力。