基本上我的任务是在数组中获取一堆元素并使用它们执行各种任务,例如找到最短/最长的元素等。
现在我所困扰的可能是构造函数出错了。
我要做的是创建一个具有单个字符串数组作为参数的构造函数。
我想要做的是获得句子中单词的平均长度。到目前为止我的代码:
public class Sentence {
private static String[] words = new String[50]; //Instance variable that holds words.
public Sentence(String[] array){ // My Constructor. (If that is right?)
}
public double meanLength(String str) { //Method for sorting words.
String words[] = str.split("()");
int numWords = words.length;
int totalCharacters = 0;
for (int i = 0; i < numWords; i++)
totalCharacters = totalCharacters + words[i].length();
return totalCharacters/numWords;
}
public static void main(String[] args) {
String[] wordList = {"A", "quick", "brown", "fox", "jumped",
"over", "the", "lazy", "dog"};
Sentence text = new Sentence(wordList);
System.out.printf("Mean word length:%5.2f\n",text.meanLength());
// Now this is where the error comes up.
错误说: 类方法中的java方法meanLength不能应用于给定类型;
必需的:java.lang.String中
发现:没有参数
原因:实际和正式的参数列表长度不同
非常感谢所有帮助。可能有更多的错误要解决,因为我是一个非常新的Java程序员。比如当我取消排序时。系统打印时有许多空值。
感谢。
答案 0 :(得分:1)
您正在调用text.meanLength()
而没有任何参数,即使该方法只有一个String参数 - public double meanLength(String str)
。
方法public double meanLength(String str)
不能在构造函数中。