从对象 (JAVA) 获取信息
Get information from object (JAVA)
所以我必须创建这个对象,DocumentAnalyzer,然后在其他函数中,例如 getUniqueWords,我必须能够获取保存在其中的文件的内容,并对内容进行排序。为了获得独特的单词,我打算使用 Set
,因为它不能有重复项。
对象:
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;
}
如何才能在调用函数时使用 DocumentAnalyzer 中的信息?我知道它与参数有关,所以我必须投射一些东西吗?我只是忽略它实际上很简单吗?
几个小时以来我一直在思考这个问题
您发布的代码可能在 class
声明中,例如:
public class DocumentAnalyzer {
// your code here
}
您当前的问题是 List<String> records
是构造函数的局部变量。
你需要的是将你的信息存储为这个class的字段(a.k.a.属性),而不是将你的变量声明保存在构造函数:
public class DocumentAnalyzer {
private List<String> records;
// your code here
}
然后,在构造函数中使用该字段而不是局部变量,方法是替换:
List<String> records = new ArrayList<String>();
作者:
records = new ArrayList<String>();
现在您的 getAllWords()
方法不需要任何参数,因为您只需要使用 records
,它可以从那里访问。
所以我必须创建这个对象,DocumentAnalyzer,然后在其他函数中,例如 getUniqueWords,我必须能够获取保存在其中的文件的内容,并对内容进行排序。为了获得独特的单词,我打算使用 Set
,因为它不能有重复项。
对象:
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;
}
如何才能在调用函数时使用 DocumentAnalyzer 中的信息?我知道它与参数有关,所以我必须投射一些东西吗?我只是忽略它实际上很简单吗? 几个小时以来我一直在思考这个问题
您发布的代码可能在 class
声明中,例如:
public class DocumentAnalyzer {
// your code here
}
您当前的问题是 List<String> records
是构造函数的局部变量。
你需要的是将你的信息存储为这个class的字段(a.k.a.属性),而不是将你的变量声明保存在构造函数:
public class DocumentAnalyzer {
private List<String> records;
// your code here
}
然后,在构造函数中使用该字段而不是局部变量,方法是替换:
List<String> records = new ArrayList<String>();
作者:
records = new ArrayList<String>();
现在您的 getAllWords()
方法不需要任何参数,因为您只需要使用 records
,它可以从那里访问。