文本文件中最长和最短的行表现异常

时间:2015-10-07 13:37:07

标签: java string text-files

我的代码遇到了一些问题。它是一个从文本文件中读取行的程序,输出是最短和最长的字符串,平均大小是十进制的双精度(x,xx)。我目前的代码是:

Field field = MyClass.class.getField("ADDRESS_BITS_PER_WORD");
field.setAccessible(true);

部分工作,它输出正确的平均线和最长线,虽然我不知道为什么它输出正确的最长线(<此代码中的符号似乎不正确)并且shortestline总是返回最新输入在文件中出于某种原因。谁能看到我的错误?

1 个答案:

答案 0 :(得分:1)

看看这段代码在做什么。如果line短于short,那么它不为null(这是文件中的每一行!)我们将它设置为新的最短行。

            if (shortestline.length() > line.length()||line!=null){
                shortestline = line;
            }

应该是

            if (shortestline.length() > line.length()){
                shortestline = line;
            }

或者,如果您打算进行空检查:

            if (line != null && shortestline.length() > line.length()){
                shortestline = line;
            }

Pshemo正确地指出了另一个问题,即你将shortestline初始化为new String(),其长度为0.你永远不会遇到长度小于0的字符串。