`

网易公司刁难的面试题,留下你的见解

 
阅读更多
今天去网易面试了
其中有这么一道题很郁闷
没答出来
原题是这样的
要求用户从键盘上输入一个数字,数字范围是(9位数以内)
要求输出正确的英文单词来
如:
用户输入:
1,返回:one

看了很多大家的评论
我想大家还没看清人家出这道题的真正用意
我在解释一下
用户任意从键盘上输入一个数字,要求你用代码实现该数字的汉译英

大家提到了switch,可是你想想数字范围是9位数以内,用户输入的数字是不定的,你怎么取舍,总不能写n个switch吧
还有人说了类似将阿拉伯数字用万千等表示的,这也太easy了吧,网易会考这么低能的题吗
大家不要扯跟这道题目无关的东西好吗
分享到:
评论
51 楼 bluemusic 2009-09-10  
dingjun123 写道
面试题嘛,转个别人写的
package name.zrl;    
   
public class ListTest {    
    static String[] to_19 = { "zero", "one", "two", "three", "four", "five",    
            "six", "seven", "eight", "nine", "ten", "eleven", "twelve",    
            "thirteen", "fourteen", "fifteen", "sixteen", "seventeen",    
            "eighteen", "nineteen" };    
    static String[] tens = { "twenty", "thirty", "forty", "fifty", "sixty",    
            "seventy", "eighty", "ninety" };    
    static String[] denom = { "", "thousand ", "million", "billion",    
            "trillion", "quadrillion", "quintillion", "sextillion",    
            "septillion", "octillion", "nonillion", "decillion", "undecillion",    
            "duodecillion", "tredecillion", "quattuordecillion",    
            "sexdecillion", "septendecillion", "octodecillion",    
            "novemdecillion", "vigintillion" };    
   
    public static void main(String[] argv) throws Exception {    
        long tstValue = 1234567890987654321L;    
        ListTest itoe = new ListTest();    
        System.out.println(itoe.english_number(tstValue));    
    }    
   
    private String convert_nn(int val) {    
        if (val < 20)    
            return to_19[val];    
   
        int flag = val / 10 - 2;    
        if (val % 10 != 0)    
            return tens[flag] + "-" + to_19[val % 10];    
        else   
            return tens[flag];    
    }    
   
    private String convert_nnn(int val) {    
        String word = "";    
        int rem = val / 100;    
        int mod = val % 100;    
        if (rem > 0) {    
            word = to_19[rem] + " hundred ";    
   
        }    
        if (mod > 0) {    
            word = word + convert_nn(mod);    
        }    
        return word;    
    }    
   
    public String english_number(long val) {    
   
        if (val < 100) {    
            System.out.println((int) val);    
            return convert_nn((int) val);    
        }    
        if (val < 1000) {    
            return convert_nnn((int) val);    
        }    
   
        for (int v = 0; v < denom.length; v++) {    
   
            int didx = v - 1;    
            long dval = new Double(Math.pow(1000, v)).longValue();    
   
            if (dval > val) {    
                long mod = new Double(Math.pow(1000, didx)).longValue();    
                int l = (int) (val / mod);    
                long r = (long) (val - (l * mod));    
                String ret = convert_nnn(l) + " " + denom[didx];    
                if (r > 0) {    
                    ret = ret + ", " + english_number(r);    
                }    
   
                return ret;    
            }    
   
        }    
        return null;    
    }    
   
}    

blue兄,那么晚还回帖真敬业啊。
这个版本有些问题,缺少and,没考虑101这种情况吧。

50 楼 whywhy36 2009-09-10  
确实不是刁难啊 英文是以三作为一个循环 不停的以3位作为一个整体进行匹配 比如 123 就是 one hundred twenty three 那么假如之前还有321 就直接在刚才的123前 + 上 thousand and 然后在匹配啊 3位的匹配很好写的

真的不知道LZ为什么说刁难 还是我理解有误
49 楼 下一站,火星 2009-09-10  
sxyx2008 写道
soffia 写道
可怜的楼主,这帖子中一半的人根本没看懂题。哪是123转onetwothree那么简单……

是啊
我也不知道是我描述不清
还是大家的国文退步了
悲哀啊


你表达能力有问题,隐掉吧
48 楼 soffia 2009-09-10  
你只要在那基础上加将输入的字符串转换为数字,同时注意输入的位数,小于32768的转Integer,大于的转Long
47 楼 sxyx2008 2009-09-10  
soffia 写道
看第四页去,人家标准答案已经写在那了,只要传你的数字就行了,有了那个代码,你只要加几句就可以了

貌似我不会逛论坛似地
还要你教
46 楼 soffia 2009-09-10  
看第四页去,人家标准答案已经写在那了,只要传你的数字就行了,有了那个代码,你只要加几句就可以了
45 楼 sxyx2008 2009-09-10  
thinkx 写道
我以前写过数字转汉字的,和这个很相似
例如
“10243”要转换成“一万零二百四十三”,而不是“一零二四三”

无奈
真有这么简单吗
代码实现,留下你的高见
44 楼 sxyx2008 2009-09-10  
qamer 写道
这和数字小写转中文大写有什么区别吗?

建议读懂题目了在发表你的意见
43 楼 thinkx 2009-09-10  
我以前写过数字转汉字的,和这个很相似
例如
“10243”要转换成“一万零二百四十三”,而不是“一零二四三”
42 楼 sxyx2008 2009-09-10  
soffia 写道
可怜的楼主,这帖子中一半的人根本没看懂题。哪是123转onetwothree那么简单……

是啊
我也不知道是我描述不清
还是大家的国文退步了
悲哀啊
41 楼 soffia 2009-09-10  
可怜的楼主,这帖子中一半的人根本没看懂题。哪是123转onetwothree那么简单……
40 楼 yuantong 2009-09-10  
嘴上都在说“多简单的题啊”,结果被你们搞的越来越麻烦了
39 楼 qamer 2009-09-10  
这和数字小写转中文大写有什么区别吗?
38 楼 kage 2009-09-10  
不就是数字换英文嘛,我们项目里就有用,JS的
网上也有大把PHP的代码吧?
37 楼 wxq594808632 2009-09-10  
下一站,火星 写道
seele 写道
下一站,火星 写道

搞个计数器判断下就可以了,和汉字按首字母排序差不多的问题



越来越不理解了....

如果那么简单,请把代码帖出来吧


我吃饱饭撑的,你理解不理解和我有一毛钱的关系吗?我为什么要把代码贴出来?


此话有理。。
36 楼 网络黑侠 2009-09-10  
学c的时候老做这一类的
35 楼 网络黑侠 2009-09-10  
将输入字符串分解成字符数组,然后遍历 switch 打印
34 楼 TheMarine 2009-09-10  
实际项目中也经常会用的东西.
33 楼 lrh 2009-09-10  
看看自己手机键盘如何发短信的
32 楼 下一站,火星 2009-09-10  
seele 写道
下一站,火星 写道

搞个计数器判断下就可以了,和汉字按首字母排序差不多的问题



越来越不理解了....

如果那么简单,请把代码帖出来吧


我吃饱饭撑的,你理解不理解和我有一毛钱的关系吗?我为什么要把代码贴出来?

相关推荐

    面试题整理——面试官的刁难提问和准备策略

    4. **问题反问**:面试不仅是面试官提问,你也可以反问,这表现出你对公司和职位的关注和热情。 通过充分的准备和恰当的策略,你可以有效地应对面试中的各种挑战,展现出自己的最佳一面。记住,面试是一个双向选择...

    公务员面试题库公务员面试模拟题之面对新领导刁难怎么办.pdf

    公务员面试题库公务员面试模拟题之面对新领导刁难怎么办.pdf

    学生会面试刁难问题集合.docx

    【学生会面试】是大学校园生活中一个重要的环节,旨在选拔具备一定能力和服务意识的学生加入到学生组织中。面试过程往往包含一系列刁难性问题,旨在考察面试者的...最后,真诚和自信的态度也会给面试官留下深刻的印象。

    13 面试官为什么要刁难你.mp4

    13 面试官为什么要刁难你.mp4

    13 面试官为什么要刁难你.mp3

    13 面试官为什么要刁难你.mp3

    Java面试题之面试被问到Java组件实现原理时,该可以从哪些角度回答

    总结起来,面试官询问组件实现原理并非故意刁难,而是为了评估你的专业技能和问题解决能力。因此,深入理解并能详细解释这些组件的工作原理,对于Java开发者来说至关重要,不仅能够提高面试成功率,也能在工作中发挥...

    八种面试“刁难”问题应对办法.docx

    总的来说,面试是双向的,不仅是面试官评估你,也是你评估公司的机会。面对刁钻问题,保持专业、诚实和自信,同时展现出对工作的热情和解决问题的能力。记住,每个问题都有其目的,理解面试官的意图并以积极的态度...

    数据库面试题

    用于数据库面试时候,有了它,不再害怕面试官的刻意刁难,好好记下

    教师-经典面试题汇总-含答案.pdf

    【教师面试知识点】 1. 自我介绍:面试者需准备一份2-3分钟的自我介绍,强调个人的优势,如学习成绩、语言表达能力和专业素养。自我介绍是展示个人精明干练的重要环节。 2. 交谈比例:面试者应遵循80/20原则,承担...

    简单面试宝典 面试不再怕

    - 了解压力面试的目的,它是测试你在压力下的应对能力,而非故意刁难。 6. **提问环节**: - 不要忘记在面试结束时提问,这表明你对公司和职位有深入了解和兴趣。 - 提前准备一些问题,例如公司的发展计划、团队...

    百度面试经验

    - **面试感受**:面试官给人以亲切感,气氛较为轻松,重点在于交流而非刻意刁难。 3. **第三次面试**: - **面试官角色**:技术总监 - **面试内容**:更加宏观层面的探讨,例如应试者的职业规划、对百度的贡献...

    10个常见的Redis面试"刁难"问题1

    以下是一些Redis面试中常见的问题及其详细解答: 1. Redis的数据结构有哪些? Redis提供了丰富的数据结构,包括基本的String、Hash、List、Set和Sorted Set。对于高级用户,还有HyperLogLog用于估算基数、Geo用于...

    27套希赛网工练习题下.rar

    27套希赛网工练习题下.r 练习的材料

    国家公务员面试模拟预测试题四.pdf

    在国家公务员面试中,模拟预测试题主要考察应聘者的综合素质,包括问题解决能力、团队协作精神、沟通协调技巧以及对工作的态度和理念。以下是对这些试题的深入解析: 1. 对于“三个臭皮匠赛过一个诸葛亮”的现象,...

    面试常见问题及回答_面试技巧及注意事项_面试题目及答案.pdf

    大部分的面试官不会用有关运动的问题刁难你。他们问一些难题是为了获得心里确切的突破口。他们这样做的动机是要快速地了解你,以便作出一个明智的选择——决定你是留是去。 在面试中,老板们通常会问一些问题,如...

    产品经理面试常见问题.pdf

    在求职过程中,产品经理需要面对各种类型的面试,包括群面、一般类型面试、专业类型面试、个人或刁难类型面试等。面试中常见的问题可以大致分为以下几个方面: 1. 群面:群面是多个候选人同时参加的面试形式,考核...

    初中语文文摘社会遭遇刁难

    初中语文文摘社会遭遇刁难

    it码农面试必备的宝典

    深入浅出的让你适应如何面对面试官的各种刁难,希望大家能找到好工作!

    面试中常见的问题及回答技巧 .doc

    应对面试中的刁难问题时,重点在于展示你的思考过程,而不是急于给出一个完美的答案。例如,当面对类似于“北京有多少公交站”的问题时,可以表达出愿意积极寻找并提供准确信息的意愿。 在面试中还有一些加分技巧,...

Global site tag (gtag.js) - Google Analytics