我做了一个功课,我真的遇到了这个问题。我们被告知创建一个构造函数,它接受一个字符串参数,将其转换为小写,并将其拆分为单独的单词。然后索引文档(如在搜索引擎中)。这个赋值旨在让我们知道一点关于搜索引擎如何运作。
我一直使用方法来执行此类操作,但现在问题是要求在constructor
中执行此操作。我试了好几次而且没用。该作业还要求将不同的单词(在我将它们分割在constructor
之后)存储在名为" Terms"的数组中,该数组还存储单词的频率。问题的另一部分是要求创建方法indexContent
来填充proper
大小的术语数组。
我希望三种信息能以某种方式相关,但我不知道。我需要帮助,特别是如我所提到的那样创建constructor
。我甚至不知道constructors
可以执行method
类似的操作。我认为创建constructors
来实例化对象,methods
用于调用和执行操作。请有人解释一下。
答案 0 :(得分:4)
是。 Constructor
可以做所有事情作为一种方法。实际上,构造函数是隐式返回其类类型的方法。
例如:
// constructor in fact is return its class type
People a = new People("StackoverFlow");
constructor
中存在一些限制,例如,在某些情况下您必须调用父的构造函数,但不能使用方法。
例如:
class Parent {
public Parent(String parentName) {}
}
class Child extends Parent {
public Child(String name) {
// must call parent constructor. unlike normal method
super(name);
// do some other fancy stuffs here
}
}
在你的作业中,Psuedocode将是:
class SearchEngine {
// keyword after turn into lower
private String lowerKeyword;
// words is splitted by above keyword
private String[] words;
public SearchEngine(String keyword) {
process(keyword);
}
private void process(String keyword) {
// convert keyword to lower case and assign to lowerKeywords
// convert keyword to separate words and assign to array words
// index document
}
// or you can process your code directly in constructor
public SearchEngine(String keyword, String someOtherParameter) {
// convert keyword to lower case and assign to lowerKeywords
// convert keyword to separate words and assign to array words
// index document
}
}
希望这有帮助:)