Java 将字母转换为小写而不使用toLowerCase()

Java 将字母转换为小写而不使用toLowerCase(),java,for-loop,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++) {

我正在尝试将字母转换为小写,并且使用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);

    }

}
publicstaticvoidmain(字符串[]args){
//TODO自动生成的方法存根
字符串a1=“苹果”;
char[]s1=a1.toCharArray();

对于(int i=0;i您可以简单地将每个字符视为整数,并将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
String a1=“苹果”;
char[]s1=a1.toCharArray();
int diff='a'-'a';
对于(int i=0;i如果(s1[i]>='A'&&s1[i]找到了一种有效的方法,这可能会有所帮助。请参考此

公共类主{
私有静态最终字符[]小写=
{ 
0,   0,   0,   0,   0,   0,   0,   0, 
0,   0,   0,   0,   0,   0,   0,   0, 
0,   0,   0,   0,   0,   0,   0,   0, 
0,   0,   0,   0,   0,   0,   0,   0, 
0,   0,   0,   0,   0,   0,   0,   0, 
0,   0,   0,   0,   0, '-',   0,   0, 
'0', '1', '2', '3', '4', '5', '6', '7', 
'8', '9',   0,   0,   0,   0,   0,   0, 
0,‘a’、‘b’、‘c’、‘d’、‘e’、‘f’、‘g’,
‘h’、‘i’、‘j’、‘k’、‘l’、‘m’、‘n’、‘o’,
‘p’、‘q’、‘r’、‘s’、‘t’、‘u’、‘v’、‘w’,
“x”、“y”、“z”、0、0、0、0、0、,
0,‘a’、‘b’、‘c’、‘d’、‘e’、‘f’、‘g’,
‘h’、‘i’、‘j’、‘k’、‘l’、‘m’、‘n’、‘o’,
‘p’、‘q’、‘r’、‘s’、‘t’、‘u’、‘v’、‘w’,
“x”、“y”、“z”、0、0、0、0、0、,
0,   0,   0,   0,   0,   0,   0,   0, 
0,   0,   0,   0,   0,   0,   0,   0, 
0,   0,   0,   0,   0,   0,   0,   0, 
0,   0,   0,   0,   0,   0,   0,   0, 
0,   0,   0,   0,   0,   0,   0,   0, 
0,   0,   0,   0,   0,   0,   0,   0, 
0,   0,   0,   0,   0,   0,   0,   0, 
0,   0,   0,   0,   0,   0,   0,   0 
};
公共静态最终字符串为小写(字符串值)
{
char[]chars=value.toCharArray();
for(int i=0;i
这应该可以:

     private static String  toLowerCase(String inputWord)
          { 

        StringBuilder inputW = new StringBuilder(inputWord);

        for(int i = 0 ; i < inputW.length() ; i++)
            { 
         // check for Capital  letter ...   ascii code of "A" is 65 ... "Z" is 91.
            if(inputW.charAt(i) >= 65 && inputW.charAt(i) <=91)   
                {
                 //   The character at the specified index is set to  to uppercase
                    inputW.setCharAt(i, (char)(inputW.charAt(i)+32));    
                }
        }
        return inputW.toString();
    }
私有静态字符串到小写(字符串输入字)
{ 
StringBuilder inputW=新的StringBuilder(inputWord);
对于(int i=0;iif(inputW.charAt(i)>=65&&inputW.charAt(i)90?真的吗?是否只转换实际字母,以及如何通过使用字符文字使代码更易于解释?即
if(s1[i]>='A'&&s1[i]请提供您在网站中发现的有用代码,因为链接可能会改变解决方案,但请注意,该功能将破坏除0-9A-Za-z以外的任何其他字符。是的,它会。但我们始终可以根据我们的要求修改代码。
     private static String  toLowerCase(String inputWord)
          { 

        StringBuilder inputW = new StringBuilder(inputWord);

        for(int i = 0 ; i < inputW.length() ; i++)
            { 
         // check for Capital  letter ...   ascii code of "A" is 65 ... "Z" is 91.
            if(inputW.charAt(i) >= 65 && inputW.charAt(i) <=91)   
                {
                 //   The character at the specified index is set to  to uppercase
                    inputW.setCharAt(i, (char)(inputW.charAt(i)+32));    
                }
        }
        return inputW.toString();
    }