需求:
我想买 7899RMB 的手机;
有一下两种套餐 1 ,2
- 二手市场按原价的 20 % 折旧" ;
- 手机专卖店以旧换新的优惠,新手机就能够打8折优惠"
输入我的旧手机价格,看看哪个适合我
分析:
- 用 if- else 来筛错,然后再用switch来输出手机价格,(后来的学习发现用 break 更好);
- 考虑到实际问题,给用户1,2,3 选项(选项3为比较1,2两个购买策略);
package com.itheima;
import java.util.Scanner;
public class practice008 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("当前手机价格为 7988 RMB");
System.out.print("请输入你的旧手机价格");
System.out.println();
float price = sc.nextInt();
float cost = 0;
int q = 0;
if (price >= 10000 | price <= 1500) {
System.out.print("你TM换什么手机?!");
} else {
System.out.println();
System.out.println("有一下两种套餐 1 ,2 ");
System.out.println("A. 二手市场按原价的 20 % 折旧");
System.out.println("B. 手机专卖店以旧换新的优惠,新手机就能够打8折优惠");
System.out.println();
System.out.println("请输入你想要的套餐 1 或者 2 ");
System.out.println("如果都想比较,请输入 3 ");
q = sc.nextInt();
switch (q) {
case 1:
cost = (float) (7988 - price * 0.2);
System.out.println("您的最终价格为" + cost + "Rmb");
break;
case 2:
cost = (float) (7988 * 0.8);
System.out.println("您的最终价格为" + cost + " Rmb");
break;
case 3:
float cost2 = (7988.0F * 0.8F);
float cost1 = (float) (7988 - price * 0.2);
int Final = cost1 <= cost2 ? 1 : 2;
System.out.println();
System.out.println("1套餐的最终价格为" + cost1 + " Rmb");
System.out.println("2套餐的最终价格为" + cost2 + " Rmb");
System.out.println();
System.out.println("最好使用" + Final + "套餐");
break;
default:
System.out.println("错误,请重新输入");
break;
}
}
}
}
结果:
果然现在我不配拥有新手机------