java - 不使用 toLowerCase() 将字母转换为小写

标签 java for-loop

我正在尝试将字母转换为小写字母,并且我正在使用 for 循环而不使用 .tolowerCase。我不确定,但它不起作用...这是我的代码..

public static void main(String[] args) {
    // TODO Auto-generated method stub
    String a1 = "apple";
    char[] s1 = a1.toCharArray();  

    for (int i=0; i<s1.length; i++)
    {
        int CharNumber = s1[i] - 'a';
        int NewChar = (char) CharNumber;
        char[] NewNew = Character.toChars(NewChar);
        System.out.println(NewNew);

    }

}

最佳答案

您可以简单地将每个字符视为整数,并将 32 添加到 ASCII 整数值小于或等于 90 的任何字符。这会将大写字母转换为小写字母,保留小写字母。

String a1 = "aPplE";
char[] s1 = a1.toCharArray();
int diff = 'a' - 'A';

for (int i=0; i < s1.length; i++) {
    if (s1[i] >= 'A' && s1[i] <= 'Z') {
        s1[i] += diff;
    }
}

System.out.println(s1);

apple

Demo

关于java - 不使用 toLowerCase() 将字母转换为小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50093269/

相关文章:

java - 线程安全单例

java - 如何在一个下拉列表中显示绑定(bind)在一起的 2 个元素

java - 域类与 Dto 类与 Swagger 命名

python - for循环在一些处理后显示和写入一堆图像

c - 如何提高以下循环的性能

java - NullPointerException 尝试更新包含带有版本字段的数据透视表的实体

java - 如何将带有自定义对象的 HashMap 添加到 ArrayList

JavaScript 嵌套显示错误结果

php - 无法从数组中获取正确的值

regex - 高效的 for/each 循环来匹配短语?