华为机试题?

来源:范文网 5.11K

今天下午去上海的华为参加面试,一上来就是机试题,就一道,限时40分钟。题目如下:
输入一个大写字母,将其转化成对应小写字母之后的第5个小写字母(记为charValue),如果charValue超过了z,则输出超过了几位的`对应的小写字母。例如,我输入一个Y,它之后的第5个字母不存在,因为它超过了z4个,所以最终输出d。
其实这道题不难,但苦于自己没有好的解决方案,自己索性笔试的时候一个字母也没写。自己最初的解决思路是:首先计算输入大写字母对应的ASCII码,然后ASCII码加5就是之后的第五个大写字母,然后再转化成对应的小写即所求。但是这里的问题是当输入的大写字母随延5个后的字母不是大写字母对应的ASCII码时改怎么计算? 那么就求教各位大神改怎么解决,给出的函数定义如下,要求在函数里面实现算法:
public static Character toLower2Case(Character input){
return A;
}

华为机试题?
热门标签