【问题标题】:Using a For Loop to set all lower case to uppercase使用 For 循环将所有小写字母设置为大写字母
【发布时间】:2015-10-27 22:04:57
【问题描述】:

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

【问题讨论】:

  • 错误消息的哪一部分“java.lang.String[line 7] 类型的方法 setCharAt(int, char) 未定义”令人困惑?它准确地描述了你做错了什么,并说明了错误在哪一行。为了写出有用的答案,我们需要知道您不理解的部分。否则,我们只会用不同的词重复错误所说的内容。

标签: java loops for-loop charat


【解决方案1】:

你可以只使用一个操作!

my_string = my_string.toUpperCase();

【讨论】:

    【解决方案2】:

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

    yourstring.toUpperCase();
    

    【讨论】:

      【解决方案3】:

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

      关于你的错误:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-26
        • 2013-02-04
        • 2011-06-01
        • 2015-07-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多