如何将字符串中的小写字母转换为大写,大写转换为小写,之后输出。String str= "aBCdEF";转换后的输出应该是: AbcDef谢谢!!

解决方案 »

  1.   

    根据ascii码的数值范围来转换吧.
    想不出来什么更好的办法.
      

  2.   

    读出每个字符然后判断ascII区间,然后转换,然后在组合
      

  3.   

    拆分成一个一个字母,然后统一用toLowerCase()进行转换  如果toLowerCase()转化后的值和原来的不一样,就说明原来的是小写字母,然后你就取大写的就行。
    如果toLowerCase()转化后的值和原来的一样,就说明原来的是大写,那么你就取小写的就行
    呵呵 这个可是最直接最土的方法了 楼上两位的方法不错
      

  4.   

    算了,给你贴一段代码
      public static String fun(String src) {
        char[] array = src.toCharArray();
        int temp = 0;
        for (int i = 0; i < array.length; i++) {
          temp = (int) array[i];
          if (temp <= 90 && temp >= 65) { // array[i]为大写字母
            array[i] = (char) (temp + 32);
          } else if (temp <= 122 && temp >= 97) { // array[i]为小写字母
            array[i] = (char) (temp - 32);
          }
        }
        return String.valueOf(array);
      }
      

  5.   

    直接判断ascii码的数值空间然后:toLowerCase()或者toUpperCase()
      

  6.   

    使用toLowerCase()或toUpperCase自己转换以下就可以了.
      

  7.   

    使用toLowerCase()或toUpperCase自己转换以下就可以了.
    ----------------------------------------------------------------------没看清题目吧!?人家问的是互转,不是只转大写或小写.
    这个没现成的方法,还有楼上有贴代码的.
      

  8.   

    wangnewton(逍遥派掌门) ( ) 信誉:94 
      public static String fun(String src) {
        char[] array = src.toCharArray();
        int temp = 0;
        for (int i = 0; i < array.length; i++) {
          temp = (int) array[i];
          if (temp <= 90 && temp >= 65) { // array[i]为大写字母
            array[i] = (char) (temp + 32);
          } else if (temp <= 122 && temp >= 97) { // array[i]为小写字母
            array[i] = (char) (temp - 32);
          }
        }
        return String.valueOf(array);
      }
    ==============================================
    问题已经解决,多谢wangnewton(逍遥派掌门)及各位