A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邱俊杰 中级黑马   /  2012-4-9 15:57  /  3271 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这段时间互联网上火热的流传着一个智力测试题。题目出现的形式有多种,但大多看起来是这个样子:

如果是学龄前儿童,5-10分钟能解决这个问题,普通程序员要1个小时,受过更高教育的人 …

8809=6

7111=0

2172=0

6666=4

1111=0

3213=0

7662=2

9313=1

0000=4

2222=0

3333=0

5555=0

8193=3

8096=5

7777=0

9999=4

7756=1

6855=3

9881=5

5531=0

2581=?
.
.
.
.揭晓答案
.
.
.
.
.

答案跟每个数字里有多少个圈圈有关。在形状上,8有2个圈,所以记两次。0是一个大圈,记1次。所以2581=2。很有趣,不是吗?这是一种通过隐含的计算方式得出的另一种数值对应关系。    看玩这里,我就想自己编写代码完成,但是发现我不会{:soso__8993449223179388634_1:} ,大虾门就凑合looklook吧、有代码的上代码参考下。



评分

参与人数 1技术分 +1 收起 理由
岳民喜 + 1 很给力!

查看全部评分

5 个回复

倒序浏览
本帖最后由 张卯 于 2012-4-9 20:38 编辑

试了一下,可以了,嘿嘿~

//执行时请输入java ResultDemo 0000
//0000为你想要输入的四位数字。

import java.util.regex.*;

class ResultDemo
{
        public static void main(String[] args)
        {               
                int sum = 0,value;
               
                String str = new String(args[0]);
                if(!Pattern.compile("\\d{4}").matcher(str).matches())
                {
                        sop("输入错误");
                }
                else
                {
                        char[] ch = str.toCharArray();
                        for(int x=0; x<ch.length; x++)
                        {
                                if(ch[x]=='0'||ch[x]=='6'||ch[x]=='9')
                                        value = 1;       
                                else if(ch[x]=='8')
                                        value = 2;       
                                else
                                        value = 0;       
                                sum += value;
                        }
                }
                sop(str+"="+sum);
        }

        public static void sop(Object obj)
        {
                System.out.println(obj);
        }
}

评分

参与人数 2技术分 +1 黑马币 +10 收起 理由
贠(yun)靖 + 1 赞一个!
邱俊杰 + 10 赞一个!

查看全部评分

回复 使用道具 举报
张卯 发表于 2012-4-9 20:36
试了一下,可以了,嘿嘿~

//执行时请输入java ResultDemo 0000

答案超出了我的能力范围、、部分看懂,部分不懂、不过还是谢谢大虾的代码、{:3_53:}
回复 使用道具 举报
邱俊杰 发表于 2012-4-9 20:46
答案超出了我的能力范围、、部分看懂,部分不懂、不过还是谢谢大虾的代码、 ...

哎,不是什么大虾,其实我这方法很笨的,题目对我来说有难度但又不是特别难,所以有了试试的兴趣,等跟着老毕学完了基础,应该就差不多小菜一碟了,哈哈~加油加油!
回复 使用道具 举报
顶一下,版主给我加下技术分吧,呵呵~

点评

哈哈 、、求技术分  发表于 2012-4-12 23:17
回复 使用道具 举报
好啊,,不错、、、、
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马