Java从另一个类调用方法

我正在研究一个问题,但由于刚开始学习Java而感到非常困惑。我可以理解的任何帮助都会很棒。我必须编写一个具有两个类的程序。主类将从文件中读取内容,并使用第二类来查找文件中相同单词被重复的次数,然后将它们添加到包含单词和单词重复次数的数组中。我可以阅读文件部分。我只是似乎不知道如何从第二个类调用方法以将单词添加到数组并增加计数器。到目前为止,这是我的代码,如果您运行它,您将看到多少错误会告诉我我有多新。

import java.io.*;

public class Words{

public static void main (String [] args)

{

ProcessInput();

System.out.println("\nprogram finished");

}

public static WordList ProcessInput( )

{

BufferedReader inputFile;

String inputLine;

String[] word;

WordList words;

try

{

inputFile=new BufferedReader(new FileReader ("inputFile.txt"));

inputLine = inputFile.readLine();

while (inputLine !=null)

{

word=inputLine.toLowerCase().split(" ");

for (int i=0; i<word.length; i++){

System.out.println (word[i]);

words=addWord(word[i]);

}

inputLine = inputFile.readLine();

}

inputFile.close();

}

catch (IOException ioe)

{

System.out.println (ioe.getMessage());

ioe.printStackTrace ();

}

return words;

}

}

class WordList {

String [] words;

int wordcount;

public WordList ( ){

words= new String [1000];

wordcount=0;

}

public String addWord (String word) {

words[wordcount]=word;

wordcount=+1;

return words[wordcount];

}

public void printList (){

for (int i=0; i<wordcount; i++){

System.out.println (words[i]);

}

}

}

回答:

你很亲密 您需要记住的是,当您从另一个类调用方法时,需要告诉编译器在哪里可以找到该方法。

因此,addWord("someWord")除了简单地调用之外,您还需要初始化WordList类的实例(例如WordList list = new

WordList();),然后使用该实例调用方法(即)list.addWord("someWord");

但是,您的代码此刻仍然会在此处引发错误,因为这将试图从静态方法中调用非静态方法。

因此,您可以将其设为addWord()静态,也可以更改Words类中的方法以使其不是静态的。

我对上面的段落不好-但是您可能要重新考虑ProcessInput()作为静态方法-确实需要吗?

以上是 Java从另一个类调用方法 的全部内容, 来源链接: utcz.com/qa/410368.html

回到顶部