10

我需要创建一个函数,使用该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);
}
4

7 回答 7

12

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

您不需要将您的转换character arraystring 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));
}
于 2012-10-28T21:13:01.117 回答
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;
     }
}
于 2012-10-28T21:18:47.297 回答
1

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

public static void average( char [] letter )
{
 String str = new String(letter);
 System.out.println("The value is "+str.toUpperCase());
}
于 2012-10-28T21:08:12.627 回答
1

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

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

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

String lowerCaseVersion = (new String(letter)).toLowerCase();
于 2012-10-28T21:22:04.530 回答
0

“abcdefghijklmnopqrstuvwxyz”.charAt(字符 - 'A')

于 2012-10-28T21:09:22.473 回答
0

试试这个,看起来像一个工作方法

http://www.techlabs4u.com/2011/07/java-code-to-convert-string-to-lower.html

于 2012-10-28T21:10:54.567 回答
0

这样做:

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

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

于 2012-10-28T21:16:25.800 回答