案例介绍:编写一个智能购物计算小程序,在一家商店有书本、铅笔、橡皮、可乐、零食五种商品,商品价格如下表所示。
商品名称 | 价格 |
书本 | 12元 |
铅笔 | 1元 |
橡皮 | 2元 |
可乐 | 3元 |
零食 | 5元 |
假如你带了20元,且必须购买一本书,剩余的钱还可以购买哪种商品,可以购买几件,购买完后又能剩余多少钱?
案例思路:
- 从任务描述中可知,要实现此功能,我们需要先定义5种商品,定义五个int值作为这五种商品的价格。
- 从运行结果可知,我们需要先打印各个商品的价格以及带了多少钱,并选择需要购买商品的序列号。
- 选择到序列号后,我们需要使用switch条件语句进行判断用户要购买那件商品,并在switch条件语句中,计算可以购买多少其他商品和剩余多少钱。
案例实现:
public class Main {
public static void main(String[] args) {
/*
* 假如你有20元,至少需要购买1本书,剩余的钱还可以购买那些东西。
*/
int pencil=1; //铅笔价格
int rubber=2; //橡皮价格
int cola=3; //可乐价格
int book=12; //书本价格
int snacks=5; //零食价格
System.out.println("书本的价格为"+book+"元,您总共有20元");
System.out.println("1.铅笔的价格为:"+pencil+"元");
System.out.println("2.橡皮的价格为:"+rubber+"元");
System.out.println("3.可乐的价格为:"+cola+"元");
System.out.println("4.零食的价格为:"+snacks+"元");
Scanner sc1 = new Scanner(System.in);
System.out.println("请输入其他需要购买商品的序列号:");
int id=sc1.nextInt();
switch (id){
case 1:
int pencilmoney=20-book;
int pencilsum=pencilmoney/pencil;
int pencilsurplus=pencilmoney%pencil;
System.out.println("购买完书本后还可以购买铅笔"+pencilsum+"个,还剩"+pencilsurplus+"元");
break;
case 2:
int rubbermoney=20-book;
int rubbersum=rubbermoney/rubber;
int rubbersurplus=rubbermoney%rubber;
System.out.println("购买完书本后还可以购买橡皮"+rubbersum+"个,还剩"+rubbersurplus+"元");
break;
case 3:
int colamoney=20-book;
int colasum=colamoney/cola;
int colasurplus=colamoney%cola;
System.out.println("购买完书本后还可以购买可乐"+colasum+"个,还剩"+colasurplus+"元");
break;
case 4:
int snacksmoney=20-book;
int snackssum=snacksmoney/snacks;
int snackssurplus=snacksmoney%snacks;
System.out.println("购买完书本后还可以购买零食"+snackssum+"个,还剩"+snackssurplus+"元");
break;
default:
System.out.println("您的输入有误。");
break;
}
}
}
第8~12行代码定义了5个商品的价格,第12~17行代码打印了商品的价格,第18~20行代码是让用户输入需要购买的商品序号,第21~53行代码使用了switch条件选择判断用户购买的那中商品,再在switch中计算可以购买多少个以及剩余多少钱。