java面试题,一个字符串中的大写变小写,小写变大写,数字不变,其他就变成*
2015-11-20 09:55
441 查看
这个面试题有二种做法,第一种做法:
public class Demo1 { public static void main(String[] args) { String str = "ABC123abcfadfjbJBHJHJDsa"; StringBuffer sb = new StringBuffer(); int i; for(i = 0; i <= str.length()-1;i ++){//遍历字符串 char ch; //通过str.charAt(i)遍历出字符串中每个字符 if(str.charAt(i) >= 'a' && str.charAt(i) <= 'z'){//判断字符是否在a-z之间(小写) ch = (char) (str.charAt(i)-32); //如果为小写则转换为相应大写,赋值给ch }else if(str.charAt(i) >= 'A' && str.charAt(i) <= 'Z'){//判断字符是否在A-Z之间(大写) ch = (char) (str.charAt(i)+32); //如果为大写则转换为相应小写,赋值给ch }else if(str.charAt(i)>='0'&&str.charAt(i)<='9'){//判断字符是否在0-9之间(数字) ch = str.charAt(i); //如果为数字,将原数字赋值给ch }else { ch = '*'; //如果为其他则转为*号 } sb.append(ch); //将字符追加到sb序列 } System.out.println(sb.toString()); //将StringBuffer转换为String类型 } }第二种做法:
public class Demo1 { public static void main(String[] args) { String str = "ABC123abcfadfjbJBHJHJDsa"; StringBuffer sb = new StringBuffer(); int i; for(i = 0; i <= str.length()-1;i ++){//遍历字符串 char ch; if(Character.isLowerCase(str.charAt(i))){ ch = Character.toUpperCase(str.charAt(i)); }else if(Character.isUpperCase(str.charAt(i))){ ch = Character.toLowerCase(str.charAt(i)); }else if(str.charAt(i)>='0'&&str.charAt(i)<='9'){ ch = str.charAt(i); }else { ch = '*'; } sb.append(ch); } System.out.println(sb.toString()); //将StringBuffer转换为String类型 } }第二种做法是基于java封装中的Character进行了判断 然后进行转换!
相关文章推荐
- 这样解释空白期,面试才有戏!
- 程序员必须知道的10大基础实用算法及其讲解
- 根基决定一个程序员会不会被淘汰
- 沉默王二的黄金时代
- JAVA程序员成长之路的总结
- 程序员如何写一本书?
- 黑马程序员-Java基础
- [.Net码农]MVC——入门+最简单的小实例
- 二十道前端面试题
- 黑马程序员——单例设计模式
- 如何做好一个面试官——之学习篇
- 求职者和面试官如何做好电话面试
- 一个老程序员PHP程序员说的话(看完后醍醐灌顶啊,醒醒吧程序猿们)
- 毕业典礼—一个程序员的成长史(4)
- 10+年程序员总结的20+条经验教训
- 面试时最常被问到的65个问题和技巧性回答(第一篇)
- 中级Java软件开发面试题以及答案(二)
- 10+年程序员总结的20+条经验教训
- 面试题47:不用加减乘除做加法
- 面试题45:圆圈中最后剩下的数字