题目描述:
设计程序实现输入日期及机票张数,计算出应付金额。假设北京至上海的机票全价为
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;
}
}
没有任何技巧可言,满满的全是暴力。
该博客介绍了一个Java程序,用于根据输入的日期和机票数量计算从北京到上海的机票价格。程序考虑了工作日、周末和法定假日的不同折扣,全价为1200元/张。代码使用了暴力方法来判断日期是否为节假日或周末,并据此计算折扣后的价格。
1万+

被折叠的 条评论
为什么被折叠?



