Java 为什么扫描仪不读取文本文件并不断返回null?
代码应该获取一个文本文件,并将其内容(短语)逐行放入短语数组中。然后使用随机索引,从短语数组中选择一个随机短语。问题是扫描仪无法读取文本文件并返回“null” 声明Java 为什么扫描仪不读取文本文件并不断返回null?,java,Java,代码应该获取一个文本文件,并将其内容(短语)逐行放入短语数组中。然后使用随机索引,从短语数组中选择一个随机短语。问题是扫描仪无法读取文本文件并返回“null” 声明 i= i++; 最后不会增加i的值,因此从文件中读取的所有行最终都会写入短语[0],即只有最后一行存储在短语[0]中。那条线应该是 i++; 或 解释一下,对于i=i++发生以下情况: 将临时保存i的当前值(初始值0) i是递增的 暂时保存的i值被分配回i 因此,i永远不会递增。这来自增量后运算符的定义,即尾随的++i=i++应
i= i++;
最后不会增加i
的值,因此从文件中读取的所有行最终都会写入短语[0]
,即只有最后一行存储在短语[0]
中。那条线应该是
i++;
或
解释一下,对于i=i++代码>发生以下情况:
将临时保存i
的当前值(初始值0
)
i
是递增的
暂时保存的i
值被分配回i
因此,i
永远不会递增。这来自增量后运算符的定义,即尾随的++
i=i++
应该是i++代码>或i=i+1代码>请注意,如果文件的行数超过140行,您将获得一个ArrayIndexOutOfBoundsException
。同样,如果您的文件少于140行,您可能会返回一个空值(这可能不是您想要的)。
i++;
i=i+1;