用Java写一个实现自动售货机功能的小程序

用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函数里
  • 我的代码还不精,代码是死的,人是活的。提供一个模板,大家可随意发挥!

大概流程

售货机 顾客 余额为:0 请充值: 我要充值 余额为:?能够买:?个请购买: 我要买?个 购买成功,余额为? 售货机 顾客

祝您开心每一天!

用Java写一个实现自动售货机功能的小程序_第1张图片

你可能感兴趣的:(java,eclipse)