Java 卖飞机票

目录

需求

代码

运行结果

遇到问题

总结


需求

* 机票价格按照淡季旺季,头等舱和经济舱收费。输入机票原价,月份和头等舱或经济舱。
* 按照如下规则计算机票价格:旺季(5~10月)头等舱九折,经济舱8.5折,其他时间算淡季
* 头等舱七折,经济舱6.5折

代码

package day1002;

import java.util.Scanner;

public class maiFeiJiPiao {
    public static void main(String[] args) {
        /*卖飞机票
        * 机票价格按照淡季旺季,头等舱和经济舱收费。输入机票原价,月份和头等舱或经济舱。
        * 按照如下规则计算机票价格:旺季(5~10月)头等舱九折,经济舱8.5折,其他时间算淡季
        * 头等舱七折,经济舱6.5折*/
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入机票原价");
        int jiPiaoYuanJia=sc.nextInt();
        System.out.println("请输入月份");
        int yueFen=sc.nextInt();
        System.out.println("请输入是否为头等舱(用true和false表示)");
        boolean shiTouDengCang=sc.nextBoolean();
        double jiaGe = jiaGe(jiPiaoYuanJia, yueFen, shiTouDengCang);
        System.out.print("机票的价格为:");
        System.out.println(jiaGe);
    }

    public static double jiaGe(int jiPiaoYuanJia,int yuefen,boolean shiTouDengCang) {
        double zuiZhongPiaoJia=0;
        if(yuefen<=12&&yuefen>=1) {
            if (yuefen <= 10 && yuefen >= 5) {
                if (shiTouDengCang)
                    zuiZhongPiaoJia = 0.9 * jiPiaoYuanJia;
                else
                    zuiZhongPiaoJia = 0.85 * jiPiaoYuanJia;
            }
            else {
                if (shiTouDengCang)
                    zuiZhongPiaoJia = 0.7 * jiPiaoYuanJia;
                else
                    zuiZhongPiaoJia = 0.65 * jiPiaoYuanJia;
            }
        }
        else System.out.println("月份输入错误");
        return zuiZhongPiaoJia;
    }
}

运行结果

 

遇到问题

一开始写的方法如下

 public static double jiaGe(int jiPiaoYuanJia,int yuefen,boolean shiTouDengCang) {
        double zuiZhongPiaoJia;
        if(yuefen<=12&&yuefen>=1) {
            if (yuefen <= 10 && yuefen >= 5) {
                if (shiTouDengCang)
                    zuiZhongPiaoJia = 0.9 * jiPiaoYuanJia;
                else
                    zuiZhongPiaoJia = 0.85 * jiPiaoYuanJia;
            }
            else {
                if (shiTouDengCang)
                    zuiZhongPiaoJia = 0.7 * jiPiaoYuanJia;
                else
                    zuiZhongPiaoJia = 0.65 * jiPiaoYuanJia;
            }
        }
        else System.out.println("月份输入错误");
        return zuiZhongPiaoJia;
    }

 然后return报错Variable 'zuiZhongPiaoJia' might not have been initalized

一开始查询结果是这是个警告,意思是变量可能没有初始化,

然后我寻思着前面已经定义过“zuiZhongPiaoJia”这个变量了啊,而且警告就警告,只要不影响运行就等于没警告,然后就没管,运行时报错Error:(30, 16) java: 可能尚未初始化变量zuiZhongPiaoJia

说明还是影响运行的,虽然没太思考明白为啥影响运行了,这个变量后面有赋值啊。。。后来我想了一下,在以下这种情况时,如果不初始化确实会出现错误。

为了程序正常运行,修改了一下,定义 double zuiZhongPiaoJia=0; 然后就不报错了,可以正常运行了。

总结

报红就改吧,别想着可能是个警告,先看看用不用改了。。。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值