题目

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

pC2MT6e.png

假如你带了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;

}

}
}

运行结果:

pC2MXkt.png

pC2MjtP.png

pC2Mvff.png

pC2Mzp8.png

举一反三:

可改变题目条件,输入一个资金数目,然后选择一项商品,求得最多可买该商品多少件,剩余多少钱。

个人思路:
  1. 在原有基础上,设一个变量代表资金数

​ 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;

}

}
}

运行结果:

pC2QS1S.png

pC2Qp6g.png

pC2Q9XQ.png

特殊情况

pC28UPI.png

  • 细节

System.out.print(“请输入你的资金数:”);

一般情况下,请输入xxxxx:时使用print而不适用println排版更舒适。