我有一个方法,假设它通过一个单词数组列表,并使用.compareTo()将它们按字母顺序排列。
浏览次数:9次错误:此处不允许使用“void”类型。输出打印(newList.sortWords(wordList));
我们应该调用sortWords()方法,然后打印更新后的列表,是我调用了错误的方法,还是方法本身有问题?
我试过从sortWords()方法中取出“newList”ArrayList,并让它将值添加到wordList,但仍然出现相同的错误。
System.out.print(newList.sortWords(wordList));
到
System.out.print(newList.setTextList(sortWords(wordList)));
这是ListSort类中的方法
public static void sortWords(ArrayList<String> wordList) {
// TO DO #1: Sort the words in wordList in alphabetical order.
ArrayList<String> newList = new ArrayList<String>();
for(int outter = 0; outter<wordList.size(); outter ++){ // takes 1 word in the list at a time
for(int inner = 0; inner<wordList.size(); inner ++){ // compares it to all the other words in the list
if((wordList.get(outter)).compareTo(wordList.get(inner))<0 ){
// return i;
newList.add(inner,wordList.get(outter));// adds current word to index of the inner loop
}// end of if
} // end of inner
}// end outter
}
这是MyConsole中当前的内容
ArrayList<String> wordList = FileReader.getStringData("words.txt");
ListSorter newList = new ListSorter();
// TO DO #2: Call the sortWords() method and print the updated list.
System.out.print(newList.sortWords(wordList));
//newList.sortWords(wordList); // tried to call it sepratly and then print it
2条答案
按热度按时间vwoqyblh1#
您的方法的返回类型是
void
,因此它不返回任何值。但是System.out.println
需要输入参数才能在控制台中打印。您可以将方法的返回类型更改为List<String>
,并在其末尾添加return newList;
。jutyujz02#
sortWords(ArrayList wordList)返回void,而System.out.println()需要一些参数才能打印,您可以通过将返回类型void更改为ArrayList从sortWords()返回已排序的ArrayList,或者仅在sortWords()中打印生成的已排序列表,并在System.out.println()外部对sortWords()给予正常调用