2

您好我正在尝试编写一小段代码来检查数组char中的每个char是小写还是大写。现在它使用 char 的 ASCII 数字来检查。在它检查之后,它应该将 char 转换为大写,如果它还不是这样的话:

for (int counter = 0; counter < charmessage.length; counter++) {
    if (91 - charmessage[counter] <= 0 && 160 - charmessage[counter] != 0) {
    charmessage[counter] = charmessage[counter].toUpperCase();
    } 
}

charmessage之前已经在程序中初始化。160 部分是为了确保它不会将空格转换为大写。我如何使该.toUpperCase方法起作用?

4

3 回答 3

1

我会这样做。首先检查字符是否为字母,是否为小写。在此之后只需使用 Character.toUpperCase(char ch)

if(Character.isLetter(charmessage[counter]) && Character.isLowerCase(charmessage[counter])){
    charmessage[counter] = Character.toUpperCase(charmessage[counter]);
}
于 2013-05-19T13:48:25.547 回答
1

您可以为此使用Character#toUpperCase。例子:

char a = 'a';
char upperCase = Character.toUpperCase(a);

不过,它有一些限制。知道世界知道更多可以适应 16 位范围的字符是非常重要的。

于 2013-05-19T13:48:51.300 回答
0
String s = "stackoverflow";
    int stringLenght = s.length();
    char arr[] = s.toCharArray();
    for (int i = stringLenght - 1; i >= 0; i--) {
        char a = (arr[i]);
        char upperCase = Character.toUpperCase(a);
        System.out.print(upperCase);
       }
于 2021-12-03T16:31:46.960 回答