黑马程序员技术交流社区
标题:
求指导,为什么我写的方法不能将字符串中的小写转大写,大写转小写呢?
[打印本页]
作者:
王景琛
时间:
2014-7-11 16:38
标题:
求指导,为什么我写的方法不能将字符串中的小写转大写,大写转小写呢?
public static void main(String[] args) {
String str = "aaaDDDfffEEEE";
String strs = toUpperLowerCaseS(str);
System.out.println(strs);
}
public static String toUpperLowerCaseS(String str) {
char[] ch = str.toCharArray();
for(int i=0;i<ch.length;i++){
if(Character.isLowerCase(ch[i])){
Character.toUpperCase(ch[i]);
}else{
Character.toLowerCase(ch[i]);
}
}
String strs = new String(ch);
return strs;
}
作者:
001可望成功
时间:
2014-7-11 16:56
if(Character.isLowerCase(ch[i])){
Character.toUpperCase(ch[i]);
}else{
Character.toLowerCase(ch[i]);
}
你转是转了,但是没有将转完的赋值, Character.toUpperCase(ch[i])是有返回值char的
作者:
heimacs
时间:
2014-7-11 16:59
本帖最后由 heimacs 于 2014-7-11 17:00 编辑
楼主可以试试这个:
String str = "aaaDDDfffEEEE";
str=str.toUpperCase();
//String strs = toUpperLowerCaseS(str);
System.out.println(str);
复制代码
作者:
jwx555
时间:
2014-7-11 18:15
public static void main(String[] args) {
String str = "aaaDDDfffEEEE";
String strs = toUpperLowerCaseS(str);
System.out.println(strs);
}
public static String toUpperLowerCaseS(String str) {
char[] ch = str.toCharArray();
for(int i=0;i<ch.length;i++){
if(Character.isLowerCase(ch[i])){
ch[i] = Character.toUpperCase(ch[i]);
}else{
ch[i] = Character.toLowerCase(ch[i]);
}
}
String strs = new String(ch);
return strs;
}
复制代码
很简单的问题虽然执行了大小写的方法,但ch是作为参数是不会被改变的,
重新赋值返回值即可。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2