17蓝桥杯竞赛题“购物单”

购物单

小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。老板忙的时候经常让小明帮忙到商场代为购物。小明很厌烦,但又不好推辞。

这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有打折优惠的。
小明也有个怪癖,不到万不得已,从不刷卡,直接现金搞定。
现在小明很心烦,请你帮他计算一下,需要从取款机上取多少现金,才能搞定这次购物。

取款机只能提供100元面额的纸币。小明想尽可能少取些现金,够用就行了。
你的任务是计算出,小明最少需要取多少现金。
以下是让人头疼的购物单,为了保护隐私,物品名称被隐藏了。

**** 180.90 88折
**** 10.25 65折
**** 56.14 9折
**** 104.65 9折
**** 100.30 88折
**** 297.15 半价
**** 26.75 65折
**** 130.62 半价
**** 240.28 58折
**** 270.62 8折
**** 115.87 88折
**** 247.34 95折
**** 73.21 9折
**** 101.00 半价
**** 79.54 半价
**** 278.44 7折
**** 199.26 半价
**** 12.97 9折
**** 166.30 78折
**** 125.50 58折
**** 84.98 9折
**** 113.35 68折
**** 166.57 半价
**** 42.56 9折
**** 81.90 95折
**** 131.78 8折
**** 255.89 78折
**** 109.17 9折
**** 146.69 68折
**** 139.33 65折
**** 141.16 78折
**** 154.74 8折
**** 59.42 8折
**** 85.44 68折
**** 293.70 88折
**** 261.79 65折
**** 11.30 88折
**** 268.27 58折
**** 128.29 88折
**** 251.03 8折
**** 208.39 75折
**** 128.88 75折
**** 62.06 9折
**** 225.87 75折
**** 12.89 75折
**** 34.28 75折
**** 62.16 58折
**** 129.12 半价
**** 218.37 半价
**** 289.69 8折


需要说明的是,88折指的是按标价的88%计算,而8折是按80%计算,余者类推。
特别地,半价是按50%计算。

请提交小明要从取款机上提取的金额,单位是元。
答案是一个整数,类似4300的样子,结尾必然是00,不要填写任何多余的内容。

特别提醒:不许携带计算器入场,也不能打开手机。

程序如下

public class Java17_1 {
    public static double CouDis(double dis) {
        if(dis>9)   return dis/100;
        return dis/10;
    }
    
    public static void  main(String[] args) {
        String str = 
                "****     180.90       88Z" + 
                "****      10.25       65Z" + 
                "****      56.14        9Z" + 
                "****     104.65        9Z" + 
                "****     100.30       88Z" + 
                "****     297.15        5Z" + 
                "****      26.75       65Z" + 
                "****     130.62        5Z" + 
                "****     240.28       58Z" + 
                "****     270.62        8Z" + 
                "****     115.87       88Z" + 
                "****     247.34       95Z" + 
                "****      73.21        9Z" + 
                "****     101.00        5Z" + 
                "****      79.54        5Z" + 
                "****     278.44        7Z" + 
                "****     199.26        5Z" + 
                "****      12.97        9Z" + 
                "****     166.30       78Z" + 
                "****     125.50       58Z" + 
                "****      84.98        9Z" + 
                "****     113.35       68Z" + 
                "****     166.57        5Z" + 
                "****      42.56        9Z" + 
                "****      81.90       95Z" + 
                "****     131.78        8Z" + 
                "****     255.89       78Z" + 
                "****     109.17        9Z" + 
                "****     146.69       68Z" + 
                "****     139.33       65Z" + 
                "****     141.16       78Z" + 
                "****     154.74        8Z" + 
                "****      59.42        8Z" + 
                "****      85.44       68Z" + 
                "****     293.70       88Z" + 
                "****     261.79       65Z" + 
                "****      11.30       88Z" + 
                "****     268.27       58Z" + 
                "****     128.29       88Z" + 
                "****     251.03        8Z" + 
                "****     208.39       75Z" + 
                "****     128.88       75Z" + 
                "****      62.06        9Z" + 
                "****     225.87       75Z" + 
                "****      12.89       75Z" + 
                "****      34.28       75Z" + 
                "****      62.16       58Z" + 
                "****     129.12        5Z" + 
                "****     218.37        5Z" + 
                "****     289.69        8Z      ";
        int lineNum = 0;    //统计有多少个商品
        
        for(int i = 0; i < str.length(); i++) {
            if(str.charAt(i)=='*')  lineNum++;
        }
        lineNum/=4;
        double prices[] = new double[lineNum];
        double discount[] = new double[lineNum];
        
        String newStrP=new String();
        String newStrD=new String();
        
        
        
        
        int prn=0;
        int din=0;
        
        for(int i = 0; i < str.length(); i++) {
            if((str.charAt(i) >= '0' && str.charAt(i) <= '9') || str.charAt(i)=='.') {
                if (str.charAt(i+1)=='Z' || str.charAt(i+2)=='Z') {
                    if (!newStrP.equals("")) {
                        //System.out.println(Double.valueOf(newStrP));
                        prices[prn] = Double.valueOf(newStrP);
                        prn++;
                    }
                    
                    newStrP=new String();
                    
                    continue;
                }
                newStrP+=str.charAt(i);
            }
        }
        
        for(int i = 0; i < str.length(); i++) {
            if((str.charAt(i) >= '0' && str.charAt(i) <= '9')) {
                if (!(str.charAt(i+1)=='Z' || str.charAt(i+2)=='Z')) {
                    if (!newStrD.equals("")) {
                        //System.out.println(Double.valueOf(newStrP));
                        discount[din] = Double.valueOf(newStrD);
                        din++;
                    }
                    
                    newStrD=new String();
                    
                    continue;
                }
                newStrD+=str.charAt(i);
            }
        }
        
        prn = 0;
        din = 0;
        
        
        
//      
//      for(double e:prices) {
//          System.out.println(e);
//      }
//      for(double e:discount) {
//          System.out.println(e);
//      }
//      
//      
        for(;prn<prices.length;prn++) {
            prices[prn] *=CouDis(discount[prn]);
        }
        
        double result=0;
        for(double e:prices) {
            result+=e;
        }
        
        System.out.print(result);
        
        
        
    }
}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容