用Java写一个实现自动售货机功能的小程序
- 输入Scanner类
- 思考自动售货机的动作
- 要实现这些动作就要写方法
- main方法进行总结处理
- 完整代码
- 相关提示
- 大概流程
- 祝您开心每一天!
输入Scanner类
Java中键入引用到Scanner类:import java.util.Scanner;
创建对象Scanner scan = new Scanner(System.in);
思考自动售货机的动作
首先自动售货机会显示价格,余额,总消费,可购买商品数量,需要购买的商品数量…(其余可自行添加发挥)
所以有:
int price = 8;//假设这个机器只有一类商品
int balance = 0;
int total = 0;
int canTimes;
int buyTimes;
要实现这些动作就要写方法
我们可以写一个show()方法,用来进行充值,显示余额,可购买数量,和相关提示:
void show() {
System.out.println("欢迎光临!本售货机只贩卖一种商品,价格为:"+price+"元");
System.out.println("您当前余额为:"+balance+"元");
if(balance<price) {
System.out.println("余额不足!请充值至少8元:");
balance = scan.nextInt();
if(balance>price) {
System.out.println("您当前余额为:"+balance+"元");
}else {
System.out.println("充值失败!");
}
canTimes = balance/price;
System.out.println("您还能购买"+canTimes+"个商品");
}
}
然后再写一个buyFood()方法,用来购买商品:
void buyFood() {
if(balance>price) {
System.out.println("请问您需要购买几个商品:");
buyTimes = scan.nextInt();
balance = balance - price * buyTimes;
total = price * buyTimes;
if(buyTimes<=canTimes) {
System.out.println("您当前余额为:"+balance+"元");
System.out.println("您已购买"+buyTimes+"个商品,");
System.out.println("您本次共消费"+total+"元,您购买的商品已交付,谢谢惠顾!");
}else {
System.out.println("购买失败!");
}
}else {
System.out.println("购买失败!");
}
}
main方法进行总结处理
public static void main(String[] args) {
vm.show();
vm.buyFood();
scan.close();
}
完整代码
import java.util.Scanner;
/*
* 一个自动售货机
* 原创:Zohing
*/
public class VendingMachine {
static VendingMachine vm = new VendingMachine();
static Scanner scan = new Scanner(System.in);
int price = 8;
int balance = 0;
int total = 0;
int canTimes;
int buyTimes;
void show() {
System.out.println("欢迎光临!本售货机只贩卖一种商品,价格为:"+price+"元");
System.out.println("您当前余额为:"+balance+"元");
if(balance<price) {
System.out.println("余额不足!请充值至少8元:");
balance = scan.nextInt();
if(balance>price) {
System.out.println("您当前余额为:"+balance+"元");
}else {
System.out.println("充值失败!");
}
canTimes = balance/price;
System.out.println("您还能购买"+canTimes+"个商品");
}
}
void buyFood() {
if(balance>price) {
System.out.println("请问您需要购买几个商品:");
buyTimes = scan.nextInt();
balance = balance - price * buyTimes;
total = price * buyTimes;
if(buyTimes<=canTimes) {
System.out.println("您当前余额为:"+balance+"元");
System.out.println("您已购买"+buyTimes+"个商品,");
System.out.println("您本次共消费"+total+"元,您购买的商品已交付,谢谢惠顾!");
}else {
System.out.println("购买失败!");
}
}else {
System.out.println("购买失败!");
}
}
public static void main(String[] args) {
vm.show();
vm.buyFood();
scan.close();
}
}
相关提示
- Scanner类键入,记得你的代码中在最后需要键入的地方写上scan.close();这里的scan是你创建的对象名
- 还有main方法是按顺序一步一步执行的,你可以实践一下将vm.show();和vm.buyFood();交换一下位置。
- scan.nextInt()是表示你输入的整数,所以你代码出现几个scan.nextInt()运行后操作台会让你键入几次,所以代码思路要理清楚
- 我的代码创建对象是写在main方法体外的,所以创建的时候要加上static,当然你也可以写在main函数里
- 我的代码还不精,代码是死的,人是活的。提供一个模板,大家可随意发挥!
大概流程
祝您开心每一天!