黑马程序员技术交流社区
标题:
关于字符串操作的几个小编程题
[打印本页]
作者:
Coolman
时间:
2015-8-28 22:57
标题:
关于字符串操作的几个小编程题
本帖最后由 Coolman 于 2015-8-29 21:18 编辑
A. 自定义方法,实现两个字符串的比较,完全相等返回true
// 自定义方法实现两个字符串的比较,完全相等返回 true
public static boolean isEquals(String str1, String str2) {
// 将两个字符串分别转换成字符数组
char[] array1 = str1.toCharArray();
char[] array2 = str2.toCharArray();
// 比较两个字符数组的长度,如果相等,继续比较数组元素
if (array1.length == array2.length) {
// 遍历字符数组
for (int i = 0; i < array1.length; i++) {
// 比较当前索引元素是否相等,不相等返回 false,停止继续比较
if (array1[i] != array2[i]) {
return false;
}
}
// 字符数组遍历完毕,每个元素值都相等,返回 true
return true;
}
// 当字符数组长度不同时,直接返回 false
return false;
}
复制代码
B. 将字符串中的字符进行大小写互转
// 将字符串中的英文字符进行大小写互转
public static String toAnotherCase(String string) {
// 将字符串转换成字符数组
char[] array = string.toCharArray();
// 遍历字符数组,根据判断ASCII值判断其大小写状态并进行转换
for (int i = 0; i < array.length; i++) {
// 大写字母 --> 小写字母
if (array[i] >= 65 && array[i] <= 90) {
array[i] += 32;
} else if (array[i] >= 97 && array[i] <= 122) { // 小写字母 --> 大写字母
array[i] -= 32;
} // 其他字符不处理
}
// 将字符数组转换成字符串
String anotherCase = String.valueOf(array);
// 返回转换后的字符串
return anotherCase;
}
复制代码
C. 判断一个字符串是否是回文。例如 abcba aba
要求字符串长度必须是奇数,不能少于3个字符
字符串最远端字符判断相等
// 判断一个字符串是不是回文
public static boolean isPalindrome(String string) {
// 限制判断字符的长度不小于 3 个字符,且必须是奇数
if (string.length() >= 3 && string.length() % 2 == 1) {
// 将字符串转换成字符数组
char[] array = string.toCharArray();
// 从字符数组索引的头尾两端取元素判断是否相等,不相等直接返回 false
for (int min = 0, max = array.length - 1; min < max; min++, max--) {
if (array[min] != array[max]) {
return false;
}
}
// 判断完毕没有不相等的元素则返回 true
return true;
}
// 字符长度小于3,直接返回 false
return false;
}
复制代码
作者:
三井寿
时间:
2015-8-28 23:06
我算是第一个么,题目太长了表示看起来亚历山大啊。
作者:
绅士痞子
时间:
2015-8-28 23:33
我算是第二个,题目太长了表示看起来亚历山大啊。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2