Java-如何使用Scanner将文本文件的值存储到数组中? import java.io.*; 导入java.util.*; 导入java.text.*; 公共类文本文件{ 公共静态void main(字符串args[])引发IOException{ Scanner sf=新扫描仪(新文件(“C:\\temp\u Name\\DataGym.in.txt”); int maxIndx=-1; 字符串文本[]=新字符串[1000]; while(sf.hasNext()){ maxIndx++; text[maxIndx]=sf.nextLine(); } sf.close(); 双倍平均[]=新的双倍[100]; 对于(int j=0;j

Java-如何使用Scanner将文本文件的值存储到数组中? import java.io.*; 导入java.util.*; 导入java.text.*; 公共类文本文件{ 公共静态void main(字符串args[])引发IOException{ Scanner sf=新扫描仪(新文件(“C:\\temp\u Name\\DataGym.in.txt”); int maxIndx=-1; 字符串文本[]=新字符串[1000]; while(sf.hasNext()){ maxIndx++; text[maxIndx]=sf.nextLine(); } sf.close(); 双倍平均[]=新的双倍[100]; 对于(int j=0;j,java,Java,您应该检查。您可能调用了Scanner.hasNext(),然后调用了Scanner.nextLine())。有一些免费的电话需要检查,然后从扫描仪获取。例如,如果你真的想要下一行,那么在调用Scanner.nextLine()之前,你应该先检查Scanner.nextLine()。同样,你也可以调用Scanner.nextDouble()而不在前面调用Scanner.hasNextDouble() 正如一些评论所提到的,您应该使用调试器或打印语句来查看您是否得到了预期的结果 例如,在sf.cl

您应该检查。您可能调用了
Scanner.hasNext()
,然后调用了
Scanner.nextLine())
。有一些免费的电话需要检查,然后从
扫描仪
获取。例如,如果你真的想要下一行,那么在调用
Scanner.nextLine()
之前,你应该先检查
Scanner.nextLine()
。同样,你也可以调用
Scanner.nextDouble()
而不在前面调用Scanner.hasNextDouble()

正如一些评论所提到的,您应该使用调试器或打印语句来查看您是否得到了预期的结果

例如,在
sf.close
之后,您可以使用
System.out.println(Arrays.toString(text))
判断数组是否包含您期望的内容


希望这有助于您的调试。

您是否尝试使用
System.out.println
语句检查
text[j]
实际上包含您认为它的功能?另外,您可能希望
k<10
而不是
k更好,在IDE调试器中一次一行地遍历代码,查看实际发生的情况。在这种情况下,异常意味着输入不包含您期望的内容。您只将数据放入前10个元素中
average
数组的元素,因为您将每行的索引重置为0