问:Java 字符串转换,要求大写变小写,小写变大写,数字不变,其他变为 * 号?
答:你可能会 toUpperCase()
或者 toLowerCase()
来实现,其实这个题没有固定答案,但是一定要会写,下面给出一种解决方案。
/**
* 转换字符串,大写变小写,小写变大写,数字不变,其他变为*
*/
public class Transfer {
public static void main(String[] args) {
String str = "ABC123abcdefgh$jkDEFGHJ$Kijk$";
StringBuffer sb = new StringBuffer();
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
if (ch >= 'a' && ch <= 'z') {
ch -= 32;
} else if (ch >= 'A' && ch <= 'Z') {
ch += 32;
} else if (ch < '0' || ch > '9') {
ch = '*';
}
sb.append(ch);
}
System.out.println(sb);
}
}
本文参考自 Java 笔试字符串转换问题解析
网友评论