[英]How to pass text file data from one class to another
我正在尝试创建一个程序,该程序读取文本文件,然后输出有关文本文件的统计信息。 我开始陷入困境。 在此作业中,我们被告知,我们只需要在一个类中使用扫描器进行读取,并创建要传递给其他类并用于计算的“令牌”即可。 我不太确定该怎么做。 到目前为止,这是我的代码,用于在一个类中读取文件:
private String s;
public void analyzeBookText(Scanner input) {
while(input.hasNext()) {
input.useDelimiter(".|!|?");
s = input.next();
if(input.next().equals("$$$END$$$")) {
break;
}
}
}
public String getS() {
return s;
}
所以我的字符串只是一个句子。 然后,我尝试通过创建String实例变量和以下构造函数来访问其他类中的:
public SentenceTally() {
BookMain sentence = new BookMain();
s = sentence.getS();
}
但是,当我尝试在其他方法中使用s时,出现了stackoverflow错误。 如何在另一类的方法中正确使用一类中的扫描仪数据? 谢谢!
你在那儿。 接下来,您需要读取文本文件并将其存储到数组中。 由于您的学校提到了令牌,因此您可以逐行从文本文件中读取令牌,然后将每一行拆分(如果数据文件只有一行,然后仅令牌化这一行数据)为令牌(表示为数组):
String[] tokens = line.split(delimiter);
您可能需要先将标记转换为int数组或double数组,然后才能将其用于计算。
将令牌数组作为参数传递给其他计算方法:
public void calculate(int[] tokens){
//your calculations in Java
}
要将数据传递给其他类:
BookMain book = new BookMain();
book.analyzeFile(yourScanner);
SomeClass c = new SomeClass();
c.calculate(book.getTokens()); //create a getter for tokens in BookMain first
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.