使用 For 循环将所有小写字母设置为大写字母

Using a For Loop to set all lower case to uppercase

如何使用 for 循环将字符串的所有小写字母设置为大写字母?

这就是我所做的,但是我遇到了两个编译器错误,

  • The method setCharAt(int, char) is undefined for the type java.lang.String [line 7]

  • Array cannot be resolved [line 12]

public static String allUpperCases(String toEncode){
    int length = toEncode.length();

    for (int i = 0; i < length; i++){
      char ch = toEncode.charAt(i);
      if (Character.isLowerCase(ch)){
        toEncode.setCharAt(i, Character.toUpperCase(ch));
      }
    }

    return toEncode;
  }

您不需要使用 for 循环来将字符串设置为小写或大写。您可以使用 myString = myString.toLowerCase();。反之,则有相反的:myString = myString.toUpperCase();。您真的应该阅读 String API

关于您的错误:

String 类型在 Java 中没有 setCharAt() 函数。那是因为 String,至少在 Java 中是不可变类型。当您 "change" 一个字符串时,除非您正在使用 StringBuilder 或修改基础 char 数组,否则您实际上是在为变量分配一个新的 String

我无法诊断出您的 Array cannot be resolved 错误,因为我在您的代码中没有看到数组。

如果你只想让字符串全部大写,Java中有一个函数:

yourstring.toUpperCase();

您可以只使用一个操作!

my_string = my_string.toUpperCase();