大一java程序设计的某次作业题解

题目描述:

设计程序实现输入日期及机票张数,计算出应付金额。假设北京至上海的机票全价为

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;
    }
}

没有任何技巧可言,满满的全是暴力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值