2013蓝桥杯预赛javaA 颠倒的价牌

来源:互联网 发布:java测试类 main方法 编辑:程序博客网 时间:2024/05/21 01:49
标题: 颠倒的价牌




    小李的店里专卖其它店中下架的样品电视机,可称为:样品电视专卖店。


    其标价都是4位数字(即千元不等)。


    小李为了标价清晰、方便,使用了预制的类似数码管的标价签,只要用颜色笔涂数字就可以了(参见p1.jpg)。


    这种价牌有个特点,对一些数字,倒过来看也是合理的数字。如:1 2 5 6 8 9 0 都可以。这样一来,如果牌子挂倒了,有可能完全变成了另一个价格,比如:1958 倒着挂就是:8561,差了几千元啊!! 


    当然,多数情况不能倒读,比如,1110 就不能倒过来,因为0不能作为开始数字。


    有一天,悲剧终于发生了。某个店员不小心把店里的某两个价格牌给挂倒了。并且这两个价格牌的电视机都卖出去了!


    庆幸的是价格出入不大,其中一个价牌赔了2百多,另一个价牌却赚了8百多,综合起来,反而多赚了558元。


    请根据这些信息计算:赔钱的那个价牌正确的价格应该是多少?


import java.text.DecimalFormat;public class Jiapai { public static void main(String[] args) {DecimalFormat format = new DecimalFormat("0000");String num = "";for (int n = 1000; n < 10000; n++) {num = format.format(n);int numChange = change(num.toCharArray());if(numChange<1000){continue;}if(String.valueOf(numChange).contains("3")){continue;}if(String.valueOf(numChange).contains("4")){continue;}if ((n - numChange) >= 200 && (n - numChange) <= 300) {System.out.println(n); break;}}}private static int change(char[] charArray) {for (int i = 0; i < charArray.length; i++) { if (charArray[i] == '6') {charArray[i] = '9';} else if (charArray[i] == '9') {charArray[i] = '6';}}char[] Array2 = new char[charArray.length];for (int i = 0; i < charArray.length; i++) {Array2[i] = charArray[charArray.length-1-i];}String str  = String.valueOf(Array2);return Integer.valueOf(str);}}