跳到主要内容

6、Java编程案例(专题)

各位同学,前面我们已经学习过很多Java的基础知识了,主要有变量、数组、运算符、流程控制、方法等。但是对于这些知识点的运用,掌握得还不是很熟练,所以今天我们专门花一天时间,给同学们讲几个专项练习题,把前面所学习的知识巩固一下。

同时通过这些专项练习题,积攒大家的代码量,以便提升大家的编程能力和编程思维。这里所说的编程思维就是使用Java技术解决问题的思维方式;编程能力就是按照编程思维编写代码的能力。

想要提升编程思维和编程能力,在这里给同学们一些学习上的建议:

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

中国的航空母舰、战斗机,这些技术都是先模仿,再创新的,而且的模仿的周期是非常长的。所以同学们在使用Java技术解决问题时,也是先模仿一些特定问题的解决思路,以后遇到同类型的问题,就采用同一种思维模式来做就行。

1661995636689

案例一:买飞机票

各位同学,我们先来学习第一个案例《飞机买票》,先仔细阅读一下案例需求

1661996140214

我们来分析一下,这个需求该如何实现。前面我跟同学们讲过,将来我们去做一些需求,都是一个一个方法来实现的,所以在这里我们也采用方法来编写。

这个方法如何编写呢?采用下面的方式来思考

1.首先,考虑方法是否需要接收数据处理?
阅读需求我们会发现,不同月份、不同原价、不同舱位类型优惠方案都不一样;
所以,可以将原价、月份、舱位类型写成参数

2.接着,考虑方法是否有返回值?
阅读需求我们发现,最终结果是求当前用户的优惠票价
所以,可以将优惠票价作为方法的返回值。

3.最后,再考虑方法内部的业务逻辑
先使用if判断月份是旺季还是淡季,然后使用switch分支判断是头等舱还是经济舱,计算 票价

代码如下

public class Test1 {
public static void main(String[] args) {
// 目标:完成买飞机票的案例。
double price = calculate(1000, 11, "头等舱");
System.out.println("优惠价是:" + price);
}

public static double calculate(double price,int month,String type){
// 1、判断当前月份是淡季还是旺季
if(month >= 5 && month <= 10) {
// 旺季
// 2、判断仓位类型。
switch (type){
case "头等舱":
price *= 0.9; // price = price * 0.9;
break;
case "经济舱":
price *= 0.85;
break;
}
}else {
// 淡季
switch (type){
case "头等舱":
price *= 0.7; // price = price * 0.7;
break;
case "经济舱":
price *= 0.65;
break;
}
}
return price;
}
}