从对象获取信息(JAVA)
所以我必须创建这个对象,DocumentAnalyzer,然后在其他函数中,例如getUniqueWords,我必须能够获取保存在其中的文件的内容,并对内容进行排序。为了得到唯一的单词,我打算使用从对象获取信息(JAVA),java,methods,parameters,set,hashset,Java,Methods,Parameters,Set,Hashset,所以我必须创建这个对象,DocumentAnalyzer,然后在其他函数中,例如getUniqueWords,我必须能够获取保存在其中的文件的内容,并对内容进行排序。为了得到唯一的单词,我打算使用设置,因为它不能有重复的单词 对象: public DocumentAnalyzer(String filename) throws FileNotFoundException { List<String> records = new ArrayList<String>
设置,因为它不能有重复的单词
对象:
public DocumentAnalyzer(String filename) throws FileNotFoundException
{
List<String> records = new ArrayList<String>();
try
{
BufferedReader reader = new BufferedReader(new FileReader(filename));
String line;
while ((line = reader.readLine()) != null)
{
records.add(line);
}
reader.close();
}
catch (Exception e)
{
System.err.format("Exception occurred trying to read '%s'.", filename);
e.printStackTrace();
return;
}
System.out.print(records);
}
public Set<String> getAllWords(?????)
{
Set<String> set = new HashSet<>(values);
for (String value : set)
System.out.printf("%s", value);
return set;
}
公共文档分析器(字符串文件名)抛出FileNotFoundException
{
列表记录=新的ArrayList();
尝试
{
BufferedReader reader=新的BufferedReader(新文件读取器(文件名));
弦线;
而((line=reader.readLine())!=null)
{
记录。添加(行);
}
reader.close();
}
捕获(例外e)
{
System.err.format(“尝试读取'%s',文件名时发生异常”);
e、 printStackTrace();
返回;
}
系统输出打印(记录);
}
公共集getAllWords(???)
{
Set=新的HashSet(值);
for(字符串值:设置)
System.out.printf(“%s”,值);
返回集;
}
当我调用函数时,如何使它可以使用DocumentAnalyzer中的信息?我知道这和参数有关,所以我必须投下一些东西吗?我只是忽略了它,它真的很简单吗?
几个小时来我一直在思考这个问题您发布的代码可能在类
声明中,例如:
public class DocumentAnalyzer {
// your code here
}
当前的问题是列表记录
是构造函数的局部变量
您需要的是将信息存储为此类的字段(也称为属性),而不是将变量声明保存在构造函数中:
public class DocumentAnalyzer {
private List<String> records;
// your code here
}
公共类文档分析器{
私人名单记录;
//你的代码在这里
}
然后,在构造函数中使用该字段而不是局部变量,方法是替换:
List<String> records = new ArrayList<String>();
List records=new ArrayList();
作者:
records=newarraylist();
现在,您的getAllWords()
方法不需要任何参数,因为您只需要使用records
,可以从那里访问它。是的,我将????因为我想这就是我的问题所在!在任何方法外声明记录,然后在getAllWords方法内使用它,您不需要传递任何东西。
records = new ArrayList<String>();