黑马程序员技术交流社区

标题: 求指导,为什么我写的方法不能将字符串中的小写转大写,大写转小写呢? [打印本页]

作者: 王景琛    时间: 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 编辑

楼主可以试试这个:
  1. String str = "aaaDDDfffEEEE";
  2. str=str.toUpperCase();
  3. //String strs = toUpperLowerCaseS(str);
  4. System.out.println(str);
复制代码




作者: jwx555    时间: 2014-7-11 18:15
  1.         public static void main(String[] args) {
  2.                 String str = "aaaDDDfffEEEE";
  3.                 String strs = toUpperLowerCaseS(str);
  4.                 System.out.println(strs);
  5.         }

  6.         public static String toUpperLowerCaseS(String str) {
  7.                 char[] ch = str.toCharArray();
  8.                 for(int i=0;i<ch.length;i++){
  9.                         if(Character.isLowerCase(ch[i])){
  10.                                 ch[i] = Character.toUpperCase(ch[i]);
  11.                         }else{
  12.                                 ch[i] = Character.toLowerCase(ch[i]);
  13.                         }
  14.                 }
  15.                 String strs = new String(ch);
  16.                 return strs;
  17.         }
复制代码
很简单的问题虽然执行了大小写的方法,但ch是作为参数是不会被改变的,
重新赋值返回值即可。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2