文档章节

自动售货机

 笨拙的小Q
发布于 2016/08/13 14:52
字数 318
阅读 45
收藏 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);
		}
	}
}

 

© 著作权归作者所有

共有 人打赏支持
粉丝 2
博文 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

没有更多内容

加载失败,请刷新页面

加载更多

初级开发-编程题

` public static void main(String[] args) { System.out.println(changeStrToUpperCase("user_name_abc")); System.out.println(changeStrToLowerCase(changeStrToUpperCase("user_name_abc......

小池仔
今天
6
0
现场看路演了!

HiBlock
昨天
17
0
Rabbit MQ基本概念介绍

RabbitMQ介绍 • RabbitMQ是一个消息中间件,是一个很好用的消息队列框架。 • ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的s...

寰宇01
昨天
10
0
官方精简版Windows10:微软自己都看不过去了

微软宣布,该公司正在寻求解决方案,以减轻企业客户的Windows 10规模。该公司声称,企业客户下载整个Windows 10文件以更新设备既费钱又费时。 微软宣布,该公司正在寻求解决方案,以减轻企业...

linux-tao
昨天
19
0
TypeScript基础入门之JSX(二)

转发 TypeScript基础入门之JSX(二) 属性类型检查 键入检查属性的第一步是确定元素属性类型。 内在元素和基于价值的元素之间略有不同。 对于内部元素,它是JSX.IntrinsicElements上的属性类型...

durban
昨天
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部