我正在尝试创建一个简短的程序,该程序会将所有大写字母转换为小写字母(从命令行输入)。

下面的代码可以编译,但是没有给我期望的结果。这是什么原因呢?

例如,java toLowerCase BANaNa->给出香蕉的输出

 public class toLowerCase{
        public static void main(String[] args){

            toLowerCase(args[0]);
        }

        public static void toLowerCase(String a){

            for (int i = 0; i< a.length(); i++){

                char aChar = a.charAt(i);
                if (65 <= aChar && aChar<=90){
                    aChar = (char)( (aChar + 32) );
                }

                System.out.print(a);
            }
         }
    }

最佳答案

在我看来就像是作业,只是一个提示。您正在打印字符串a,而您正在修改char类型aChar,它没有修改原始字符串a。 (记住字符串是不可变的)。

09-25 20:21