0

如何使用 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;
  }
4

3 回答 3

2

您可以只使用一次操作!

my_string = my_string.toUpperCase();
于 2016-06-21T07:56:19.507 回答
1

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

关于您的错误:

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

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

于 2015-10-27T22:07:24.657 回答
1

如果您只希望您的字符串全部大写,Java 中有一个函数:

yourstring.toUpperCase();
于 2015-10-27T22:08:10.270 回答