题目
编写一个智能购物计算小程序,在一家商店有书本、铅笔、橡皮、可乐、零食5种商品,商品价格如表

假如你带了20元,且必须购买一本书,剩余的钱还可以购买哪种商品?可以购买几件,购买完后又能剩余多少钱?
个人思路:
1.设计一个菜单,给商品编号
2.需要利用switch语句进行判断
3.利用取余、取模求得可购买数量和剩余
代码实现:
import java.util.Scanner; public class Example2_2 { public static void main(String[] args) { int pencil = 1; int rubber = 2; int cola = 3; int snacks = 5; System.out.println("书本的价格是12元,你总共带了20元"); System.out.println("1.铅笔的价格是1元"); System.out.println("2.橡皮的价格是2元"); System.out.println("3.可乐的价格是3元"); System.out.println("4.零食的价格是5元"); System.out.print("请输入你还想购入的商品编号:"); Scanner sc=new Scanner(System.in); int x=sc.nextInt(); switch(x) { case 1: System.out.println("购买完书本后还可以购买铅笔"+8/pencil+"支,还剩"+8%pencil+"元"); break; case 2: System.out.println("购买完书本后还可以购买橡皮"+8/rubber+"块,还剩"+8%rubber+"元"); break; case 3: System.out.println("购买完书本后还可以购买可乐"+8/cola+"瓶,还剩"+8%cola+"元"); break; case 4: System.out.println("购买完书本后还可以购买零食"+8/snacks+"袋,还剩"+8%snacks+"元"); break; } } }
|
运行结果:




举一反三:
可改变题目条件,输入一个资金数目,然后选择一项商品,求得最多可买该商品多少件,剩余多少钱。
个人思路:
- 在原有基础上,设一个变量代表资金数
2.考虑特殊情况,需要判断资金是否足够最少买一个(在case中加入if语句进行判断)
代码实现:
import java.util.Scanner; public class Example2_2_new { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.print("请输入你的资金数:"); int w=sc.nextInt(); int book = 12; int pencil = 1; int rubber = 2; int cola = 3; int snacks = 5; System.out.println("0.书本的价格是12元"); System.out.println("1.铅笔的价格是1元"); System.out.println("2.橡皮的价格是2元"); System.out.println("3.可乐的价格是3元"); System.out.println("4.零食的价格是5元"); System.out.print("请输入你还想购入的商品编号:"); int x=sc.nextInt(); switch(x) { case 0: if(w-book<0) { System.out.println("对不起,对于该商品,您的资金一个也买不起0.0"); break; } else System.out.println("您可以购买书本"+w/book+"本,还剩"+w%book+"元"); break; case 1: if(w-pencil<0) { System.out.println("对不起,对于该商品,您的资金一个也买不起0.0"); break; } else System.out.println("您可以购买铅笔"+w/pencil+"支,还剩"+w%pencil+"元"); break; case 2: if(w-rubber<0) { System.out.println("对不起,对于该商品,您的资金一个也买不起0.0"); break; } else System.out.println("您可以购买橡皮"+w/rubber+"块,还剩"+w%rubber+"元"); break; case 3: if(w-cola<0) { System.out.println("对不起,对于该商品,您的资金一个也买不起0.0"); break; } else System.out.println("您可以购买可乐"+w/cola+"瓶,还剩"+w%cola+"元"); break; case 4: if(w-snacks<0) { System.out.println("对不起,对于该商品,您的资金一个也买不起0.0"); break; } else System.out.println("您可以购买零食"+w/snacks+"袋,还剩"+w%snacks+"元"); break; } } }
|
运行结果:



特殊情况

System.out.print(“请输入你的资金数:”);
一般情况下,请输入xxxxx:时使用print而不适用println排版更舒适。