如何使用charAt方法将大写转换为小写?

时间:2012-10-28 21:04:32

标签: java

我需要创建一个函数,使用charAt方法将所有大写字符设为小写。我尝试使用类型转换将int值更改为char但在此之后就丢失了。

/********************************************************************************
  This function will calculate the integer average of characters in the array
********************************************************************************/
public static void lowerCase(char[] letter) {
    char mean;
    mean = (char) ((int) ch + 32);
}

7 个答案:

答案 0 :(得分:8)

哦,实际上你不需要使用charAt来检查它。只需将所有内容转换为小写。这不会影响已经是小写的字符,并将大写字符转换为小写。这就是你所需要的。

您无需将character array转换为string object,然后使用String.toLowerCase方法,因为它仅在内部使用Character.toLowerCase方法。

public static void average( char [] letter ) {

    for (int i = 0; i < letter.length; i++) {
        letter[i] = Character.toLowerCase(letter);
    }

    System.out.println(Arrays.toString(letter));
}

答案 1 :(得分:2)

如果您只想使用charAt,可以尝试:

String test = "fasdWADFASD242134";
StringBuilder result = new StringBuilder(test);
for (int i = 0; i < test.length(); i++) {
    char ch = test.charAt(i);
    result.setCharAt(i, ch >= 'A' && ch <= 'Z' ? (char) (ch + 'a' - 'A') : ch);
}
System.out.println("result = " + result);

如果你有一个char数组,你可以使用:

public static void toLower(char[] letter){
     for (int i = 0; i < letter.length; i++) {
         char ch= letter[i];
         letter[i]= ch >= 'A' && ch <= 'Z' ? (char) (ch + 'a' - 'A') : ch;
     }
}

答案 2 :(得分:1)

如果您不必使用charAt()......

public static void average( char [] letter )
{
 String str = new String(letter);
 System.out.println("The value is "+str.toUpperCase());
}

答案 3 :(得分:1)

假设您想单独处理字符(如charAt):

char c = letter[i]; // i = 0...len(letter-1)
char upperC = Character.toLowerCase(c);

如果您实际上不想使用charAt:

String lowerCaseVersion = (new String(letter)).toLowerCase();

答案 4 :(得分:0)

“abcdefghijklmnopqrstuvwxyz”.charAt(character - 'A')

答案 5 :(得分:0)

答案 6 :(得分:0)

就这样做:

String string = "some string";
System.out.println(string.toUpperCase());

String类有一个方法toUpperCase()toLowerCase(),您可以使用它将String转换为大写或小写字母,而您不需要使用charAt方法(如果您需要转换特定字母)。