文档章节

自动售货机

 笨拙的小Q
发布于 2016/08/13 14:52
字数 318
阅读 41
收藏 0
import java.util.Scanner;
/**
 * 华为机试 自动售货机
 * 不知道对错
 * @author qxl
 *
 */
public class Shop {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int price1 = 2, s_count1 = 5;
		int price2 = 3, s_count2 = 10;
		int price3 = 4, s_count3 = 14;//初始化
		int y_count1 = 5;
		int y_count2 = 5;
		int y_count5 = 3;
		while (sc.hasNext()) {
			String s = sc.nextLine();//p 5,p 5,p 5,b A3,b A3,b A2
			s = s.replace(" ", ",");//p,5,p,5,p,5,b,A3,b,A3,b,A2
			String[]str = s.split(",");//{"p","5","p","5","p","5","b","A3","b","A3","b","A2"}
			int total_pay = 0;
			int total_cost = 0;
			for(int i=0;i<str.length;i+=2){
				if(str[i].equals("p")){
					total_pay+=Integer.parseInt(str[i+1]);
				}
				if(str[i].equals("b")){
					if(str[i+1].equals("A1")){
						total_cost+=price1;
						s_count1--;
					}
					if(str[i+1].equals("A2")){
						total_cost+=price2;
						s_count2--;
					}
					if(str[i+1].equals("A3")){
						total_cost+=price3;
						s_count3--;
					}
				}
			}
			int remain = total_pay - total_cost;//找钱
			int i5=0,i2=0,i1=0;//分别找5、2、1元钱的张数
			i5 = remain/5;
			if(i5<y_count5){
				remain = remain-i5*5;
			}else{
				remain = remain-y_count5*5;
			}
			if(remain!=0){
				i2 = remain/2;
				if(i2<y_count2){
					remain = remain - i2*2;
				}else{
					remain = remain - y_count2*2;
				}
			}
			if(remain!=0){
				i1 = remain/1;//不考虑非法输入,一定能找零。
			}
			int lost_count1 = y_count1 - i1;//存钱盒中剩余1块钱的数量
			int lost_count2 = y_count2 - i2;//存钱盒中剩余2块钱的数量
			int lost_count5 = y_count5 - i5;//存钱盒中剩余5块钱的数量
			String s1 = "A1" + " " + s_count1 + ",";
			String s2 = "A2" + " " + s_count2 + ",";
			String s3 = "A3" + " " + s_count3 + ",";
			String s4 = "1" + " " + lost_count1 + ",";
			String s5 = "2" + " " + lost_count2 + ",";
			String s6 = "5" + " " + lost_count5;
			
			System.out.println(s1+s2+s3+s4+s5+s6);
		}
	}
}

 

© 著作权归作者所有

共有 人打赏支持
粉丝 1
博文 57
码字总数 27842
作品 0
南京
新零售,将来必定是自动售货机的天下

阅读文本大概需要 3 分钟。 自从马云提出“新零售”之后,零售行业历经变革,而无人售货的概念如飓风一般横扫着每个行业。 无人售货不断的被关注,而作为无人零售的最初模式——自动售货机。...

君不见And
06/28
0
0
微信支付打进日本自动售货机 将向中国游客开发

  智察网讯 作为国民支付手段的微信支付,正大踏步的迈向海外市场。12月25日消息,据外媒报道,日本饮料企业伊藤园与开发智能手机相关服务的NEOS共同开发出一款面向访日中国游客、可用智能...

智察大数据
2017/12/25
0
0
李飞飞的年终总结:AI 承载了巨大的梦想,所以它还需要更多的支持和参与

雷锋网 AI 科技评论按:2017 年就快要结束了,欧美国家也马上就要进入圣诞节-元旦小长假了。在期待假期来临的同时,许多人也写下了他们对 2017 年的总结。我们的老熟人李飞飞今天也连发 8 条...

雷锋网
2017/12/27
0
0
纸币魔术,一张变两张,一男子这样玩自动售货机,老板哭了

现在人工智能的发展的很快,阿里,腾讯,百度等各位大佬都在马不停蹄的布局自己的智能化设备,无人汽车,无感支付,无人便利店等新鲜事物不断的开阔我们的眼界,不过这个安全方面可要好好把关...

有态度的互联网人
2017/12/02
0
0
以物链:一个神奇的物联网生活方式

上世纪九十年代,一群卡耐基梅隆大学的程序员去楼下自动售货机买可乐时,经常会碰上缺货或可乐不是很凉的情况,这群懒家伙灵机一动,写了个程序来监控可乐的状态:是否有货,是否够凉,并把这...

默叨叨
08/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

这些Spring中的设计模式,你都知道吗?

设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆。 Spring作为业界的经典框架,无论是在架构设计方面,还是在代码编写方面,都堪称行...

Java填坑之路
29分钟前
1
0
Spring Aop原理之Advisor过滤

在上文(Spring Aop之Advisor解析)中我们讲到,Spring Aop对目标bean的代理主要分为三个步骤:获取所有的Advisor,过滤当前bean可应用的Advisor和使用Advisor为当前bean生成代理对象,并且上文...

爱宝贝丶
40分钟前
0
0
JMockit学习教程

1 JMockit中文网 我觉得如果仅仅是开发自测的话,把JMockit中文网认真看一遍,就可以在项目中使用JMockit了。 http://jmockit.cn/index.htm 2 JMockit中文教程 官方文档中文版。对于不喜欢看...

SuperHeroes
52分钟前
0
0
Linux服务器几乎从不采用Arch Linux?

我们见得多的Linux服务器系统一般都是什么Ubuntu Server啊,什么Cent OS啊,什么Fedora啊,或者企业采用的Red Hat啊,为什么几乎没有Arch Linux呢?下面我将从若干个方面指出Arch Linux在服务...

linux-tao
今天
0
0
js 函数柯里化 闭包

参考 https://mp.weixin.qq.com/s/GEHL3jarDdAAcr5tQGjmDg 一个统计求和的函数 需要知道整个数组的信息,然后遍历求值 function countMoney() { let money = 0 // 温馨提示:arguments...

阿豪boy
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部