java 获取,此处不允许“void”类型,错误,对ArrayLists是新手,因此可能是我的方法中的语法问题

t3psigkw  于 2023-02-14  发布在  Java
关注(0)|答案(2)|浏览(130)

我有一个方法,假设它通过一个单词数组列表,并使用.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
vwoqyblh

vwoqyblh1#

您的方法的返回类型是void,因此它不返回任何值。但是System.out.println需要输入参数才能在控制台中打印。您可以将方法的返回类型更改为List<String>,并在其末尾添加return newList;

jutyujz0

jutyujz02#

sortWords(ArrayList wordList)返回void,而System.out.println()需要一些参数才能打印,您可以通过将返回类型void更改为ArrayList从sortWords()返回已排序的ArrayList,或者仅在sortWords()中打印生成的已排序列表,并在System.out.println()外部对sortWords()给予正常调用

相关问题