为什么我的构造函数无法正常工作?

胖子弗兰克

我想要的是构造函数过滤掉我在文本文件中指定的内容,然后基于过滤后的文本文件使用getLongestWord方法。我试图使包含0-9的单词被忽略,并且在存储之前删除单词中的所有标点符号。纯粹是标点符号的单词将被忽略。构造函数返回后,新实例将具有进行分析所需的所有信息。该文件将不再需要。

public class TextProcessorImpl implements TextProcessor {

private String filename;

public TextProcessorImpl(String filename) {
    this.filename = filename;
    String current;
    Scanner scan = TextReader.openFile(filename);
    ArrayList<String> lst = new ArrayList<String>();
    while (scan.hasNext()) {
        current = scan.next();
        if (current.matches(".*[0-9].*")) {

        }
        else {
            current = current.replaceAll("\\p{Punct}+", "");
            if (current.isEmpty()) {
            }
            else {
                lst.add(current);
            }
        }
    }
}

@Override
public Collection<String> getLongestWords() {


    String longestWord = "";
    String current;
    Scanner scan = TextReader.openFile(filename);   // Generate scanner
    ArrayList<String> lst = new ArrayList<String>();    //create array list
    while (scan.hasNext()) {    //while the text has a next word in it
        current = scan.next();  //set current to that next word
        if (current.length() > longestWord.length()) {  //if the current word length is greater than the longest word length
            longestWord = current;  //set the new longest word to current
            lst.clear();    //clear the previous array
            lst.add(longestWord);   //add the new longest word

        }
        else if( current.length() == longestWord.length()) { //else if the current word length = the longest word length
            if (!lst.contains(current)) {
                lst.add(current);   //add the current word to the array
            }
        }



    }return lst;

}

主程序:

public class TextAnalysis {

/**
 * Get a file name from the command line and ask a TextProcessor
 * to analyze it.
 *
 * @param args a single-element array containing the file name
 */
public static void main( String[] args ) {
    if ( args.length != 1 ) {
        System.err.println( "Usage: java TextProcessor file" );
        System.exit( 2 );
    }
    TextProcessor textProc = new TextProcessorImpl( args[ 0 ] );

    Collection< String > longestWords = textProc.getLongestWords();
    System.out.println( "Longest words: " + longestWords );

   }
}
他们是

您的问题是,您创建的列表是consructor的局部变量:

ArrayList<String> lst = new ArrayList<String>();

因此,构造函数收集的任何数据都不会存储在实例中。您应该使该lst成员成为班上的一员。

public class TextProcessorImpl implements TextProcessor {

private String filename;
private ArrayList<String> lst = new ArrayList<String>(); 

public TextProcessorImpl(String filename) {
    this.filename = filename;
    String current;
    Scanner scan = TextReader.openFile(filename);
    ...

然后,您getLongestWords可以使用该列表,而不必再次读取文件(就像当前一样)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

由于数据类型中的某些错误,我的构造函数无法正常工作,我无法弄清为什么

来自分类Dev

由于数据类型中的某些错误,我的构造函数无法正常工作,我无法弄清为什么

来自分类Dev

为什么我的代码中的fprintf()函数无法正常工作?

来自分类Dev

Javascript,为什么我的onclick函数无法正常工作

来自分类Dev

为什么函数strcat无法正常工作?

来自分类Dev

为什么我的__clone()无法正常工作?

来自分类Dev

为什么我的ViewBag无法正常工作?

来自分类Dev

为什么我的DATEPART无法正常工作?

来自分类Dev

为什么我的闹钟无法正常工作?

来自分类Dev

为什么我的ButtonClickListerner无法正常工作?

来自分类Dev

为什么我的.hover()无法正常工作?

来自分类Dev

为什么我的BXSlider无法正常工作?

来自分类Dev

为什么我的ButtonClickListerner无法正常工作?

来自分类Dev

为什么我的功能无法正常工作

来自分类Dev

为什么我的加入无法正常工作?

来自分类Dev

为什么我的clearfix无法正常工作?

来自分类Dev

为什么我的加载无法正常工作

来自分类Dev

为什么我的SQL无法正常工作?

来自分类Dev

为什么我的代码无法正常工作?

来自分类Dev

为什么我的fadeIn无法正常工作?

来自分类Dev

为什么我的Ajax无法正常工作?

来自分类Dev

构造函数无法正常工作

来自分类Dev

构造函数无法正常工作

来自分类Dev

当我在函数中使用if语句时,为什么我的javascript无法正常工作

来自分类Dev

为什么我在javascript中覆盖第一个函数时无法正常工作

来自分类Dev

为什么我的切换可见性JavaScript函数无法正常工作?

来自分类Dev

为什么我递归调用python函数时无法正常工作?

来自分类Dev

为什么我的切换可见性JavaScript函数无法正常工作?

来自分类Dev

当我在条件下使用 true 时,strpos 函数无法正常工作,为什么?

Related 相关文章

  1. 1

    由于数据类型中的某些错误,我的构造函数无法正常工作,我无法弄清为什么

  2. 2

    由于数据类型中的某些错误,我的构造函数无法正常工作,我无法弄清为什么

  3. 3

    为什么我的代码中的fprintf()函数无法正常工作?

  4. 4

    Javascript,为什么我的onclick函数无法正常工作

  5. 5

    为什么函数strcat无法正常工作?

  6. 6

    为什么我的__clone()无法正常工作?

  7. 7

    为什么我的ViewBag无法正常工作?

  8. 8

    为什么我的DATEPART无法正常工作?

  9. 9

    为什么我的闹钟无法正常工作?

  10. 10

    为什么我的ButtonClickListerner无法正常工作?

  11. 11

    为什么我的.hover()无法正常工作?

  12. 12

    为什么我的BXSlider无法正常工作?

  13. 13

    为什么我的ButtonClickListerner无法正常工作?

  14. 14

    为什么我的功能无法正常工作

  15. 15

    为什么我的加入无法正常工作?

  16. 16

    为什么我的clearfix无法正常工作?

  17. 17

    为什么我的加载无法正常工作

  18. 18

    为什么我的SQL无法正常工作?

  19. 19

    为什么我的代码无法正常工作?

  20. 20

    为什么我的fadeIn无法正常工作?

  21. 21

    为什么我的Ajax无法正常工作?

  22. 22

    构造函数无法正常工作

  23. 23

    构造函数无法正常工作

  24. 24

    当我在函数中使用if语句时,为什么我的javascript无法正常工作

  25. 25

    为什么我在javascript中覆盖第一个函数时无法正常工作

  26. 26

    为什么我的切换可见性JavaScript函数无法正常工作?

  27. 27

    为什么我递归调用python函数时无法正常工作?

  28. 28

    为什么我的切换可见性JavaScript函数无法正常工作?

  29. 29

    当我在条件下使用 true 时,strpos 函数无法正常工作,为什么?

热门标签

归档