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



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

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

  • 未定义类型的方法setCharAt(int, char)java.lang.String[第7行]

  • 阵列无法解析[第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;
  }

您可以只使用一个操作!

my_string = my_string.toUpperCase();

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

yourstring.toUpperCase();

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

关于您的错误:

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

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

最新更新