Java编程案例:买飞机票
创始人
2024-03-01 23:23:42
0

编程案例:

一、目的

  • 复习前半段课程学习的Java编程知识,能够使用所学的知识解决问题,提升同学们的编程能力。

二、涉及到的知识点

  • 变量、数组。
  • 运算符:基本运算符、关系运算符、逻辑运算符…
  • 程序流程控制:if、switch; for、while; 死循环、循环嵌套。
  • 跳转关键字:break、continue、return。
  • 方法

三、编程思维

  • 使用所学的Java技术解决问题的思维方式和编写代码实现出来的能力。

四、关于提升编程思维和编程能力的建议

  • 编程思维和编程能力不是一朝一夕就可以形成的,需要时间的沉淀和大量练习。
  • 前期:先模仿;后期:再创新
  • 具体实施:勤于练习代码、勤于思考、熟能生巧

案例一:买飞机票
需求:

机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。
机票最终优惠价格的计算方案如下:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来年4月)头等舱7折,经济舱6.5折。
分析:

键盘录入机票原价、仓位类型、月份信息,将机票最终优惠价格的计算方案封装成一个方法,并调用该方法返回机票最终的优惠价格;
方法内部:判断月份是淡季还是旺季,然后再判断是头等舱还是经济舱,之后分别计算对应季节、仓位类型的机票价格优惠计算,最终将优惠价格返回
调用方法,将用户输入的机票原价、仓位类型、月份信息传递给形参
实现:
 

import java.util.Scanner;public class AirTicket {public static void main(String[] args) {
//        在main方法内
//        1.创建一个键盘录入的对象,用于用户录入机票原价、仓位类型,月份信息Scanner sc = new Scanner(System.in);
//        1.2用户开始进行录入,并接收录入的机票原价、仓位信息、月份信息System.out.println("请您输入机票原价:");double money = sc.nextDouble();System.out.println("请您输入仓位类型:");String airCabin = sc.next();System.out.println("请您输入月份(1-12):");int month = sc.nextInt();
//3.调用方法:将录入的机票原价、仓位类型、月份信息传递给形参、输出最终结果System.out.println("机票优惠后的价格:"+calc(money,airCabin,month));}
//    2.定义一个实现计算机票最终的优惠价格的方法
//    2.1设置三个形参:double money,String airCabin,int month,用于接收用户录入的实参public static double calc(double money,String airCabin,int month){
//        2.2使用if分支判断if (month >=5 && month <=10){
//            判断是否是旺季录入的月份是否>=5且<=10,switch (airCabin){case "头等舱":money *=0.9;break;
//            2.2是头等舱,录入的机票原价乘以0.9,等于优惠9折后的机票价格case "经济舱":money*=0.85;break;
//                    2.2是经济舱,录入的机票原价乘以0.85,等于优惠85折后的机票价格default:System.out.println("您输入的仓位类型有误,请重新输入");money = -1;
//                    如果都不是说明仓位类型录入有误,无法进行价格计算表示为-1}}else if (month == 11||month == 12 ||month >=1&&month<=4){
//            2.2判断是否为淡季,使用switch分支判断:录入的仓位类型是头等舱还是经济舱switch (airCabin){case "头等舱":money *=0.7;break;
//                    2.2是头等舱录入的机票原价乘以0.7,等于优惠7折后的机票价格case "经济舱":money*=0.65;break;
//                    2.2是经济舱录入的机票原价乘以0.65,等于优惠65折后的机票价格default:System.out.println("您输入的仓位有误,请重新输入");money = -1;
//                    仓位有误无法进行价格计算}}else {System.out.println("您输入月份有误,请重新输入");money = -1;
//            录入的月份小于1且大于12时说明录入的月份有误无法进行价格计算,表示为-1}return money;               //2.3返回最终价格}}

控制台输出结果:

 

 

 

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...