Java里,我们最常见的String中有toUpperCase()和toLowerCase()两个方法来实现大小写转换,自己动手实现一个这样的功能该怎么做呢?

前期准备工作(包括相关工具或所使用的原料等)一台再正常不过的已经配置了java环境的电脑 自创英文大小写转换
创建工程,或使用已有工程,在工程下创建包,包内新建一个类,我命名为Cases类,大家根据自己喜好随便命名,但请保持类名与文件名一致。

这里有个技巧,就是先确定单个字符,小写字母a与大写字母A之间的数值大小
System.out.println((int)('z')-(int)('Z'));
这样一个语句就搞定了 。答案是32

接下来就好做多了。我们这里假设需要转换大小的字符串为
ORIGINAL_STRING,值为 "Hello! Welcome to Java!"

思路是,字符串变字符数组,大转小,字符值加32,小转大,字符值减32 。
大写字母范围是:65-90,小写字母范围是:97-122
以小转大为例:
char[] queue=str.toCharArray();
for (int index=0; index < queue.length; index++) {
if (((int) queue[index] > 96) && ((int) queue[index] < 123)) {
queue[index]=(char) ((int) queue[index] - 32);
}
}
System.out.println("Upper: " + String.valueOf(queue));

同理,大转小这么写:
char[] queue=str.toCharArray();
for (int index=0; index < queue.length; index++) {
if (((int) queue[index] > 64) && ((int) queue[index] < 91)) {
queue[index]=(char) ((int) queue[index] + 32);
}
}
System.out.println("Lower: " + String.valueOf(queue));

写一个测试主函数看看结果:
System.out.println("original string: " + ORIGINAL_STRING);
printLowerCase(ORIGINAL_STRING);
printUpperCase(ORIGINAL_STRING);

注意事项一定要快快乐乐地学习注意书写规范啊经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本教程系本人依照真实经历原创,未经许可,谢绝转载。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
