【问题标题】:String method is undefined for type string?字符串类型的字符串方法未定义?
【发布时间】:2014-06-11 13:07:01
【问题描述】:

当我尝试编译/读取 Eclipse 时,出现以下错误: "方法 titleCase(String) 未为 String 类型定义"

这是为什么呢?

下面是代码:

public class Main {

    String titleCase(String s) {
        String k = s.substring(0, 1).toUpperCase()
                + s.substring(1).toLowerCase();
        return k;
    }

    public static void main(String args[]) {
        String name;
        do {
            System.out.println("Enter a new name");
            Scanner namescanner = new Scanner(System.in);
            name = namescanner.nextLine();
            String editednames = editednames.titleCase(name);

            ArrayList<String> names = new ArrayList<String>();
            names.add(editednames);
            System.out.println(names);
        } while (!(name.equalsIgnoreCase("Stop")));
    }
}

【问题讨论】:

  • 看这行String editednames = editednames.titleCase(name);
  • 您的方法titleCase 是为您的班级定义的,但不是为班级String 定义的。这就是当您尝试在 editednames(String 类型)上运行 titleCase 时编译器所说的;

标签: java string methods error-handling


【解决方案1】:

替换这个:

String editednames = editednames.titleCase(name);

用这个:

String editednames = titleCase(name);

另外,您应该声明titleCase() 方法static,以便您可以从static main 方法内部调用它:

static String titleCase(String s) {
    ...

【讨论】:

  • 是的,你也应该建议声明titleCase static,否则编译器将不允许从static main调用它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-26
  • 2014-12-09
  • 1970-01-01
  • 2015-01-29
  • 2014-06-01
  • 2013-11-14
相关资源
最近更新 更多