繁体   English   中英

如何将文本文件数据从一个类传递到另一个类

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM