java - 为什么我的 Java 程序只在文件中添加一半的数字列表?

标签 java arrays

我在文件中的一行中有一个由空格分隔的 36 个数字列表,我正在尝试将其读入数组。我的程序读取整行,但仅添加 18 个数字。有人看到原因吗?

谢谢。

    StringTokenizer st;

    try{
       BufferedReader br = new BufferedReader(
                 new FileReader("Scores.txt"));


       String line = br.readLine();
       double avg = 0.0;
       double sum = 0.0;
       int count = 0;


       while (line!=null)
        {
               st = new StringTokenizer(line);
                    System.out.println("Total tokens : " + st.countTokens());
               for(int i = 0; i < st.countTokens(); i++)
                {
                       avg += Double.parseDouble(st.nextToken());
                       count++;
                       System.out.println("i: " + i); 
                }
            System.out.println(line);

            line = br.readLine();
       }

       br.close();
       sum = avg; 
       System.out.println("Sum: " + sum); 
       System.out.println("Count: " + count);
       avg = avg/count;
       System.out.println("Avg: " + avg);



    }catch(Exception e)

最佳答案

st.countTokens() 给出剩余的 token 数。当你有 18 个 token 时,还剩下 18 个 token ,所以你停下来。我建议您阅读建议以下模式的文档,而不是这样做

 StringTokenizer st = new StringTokenizer("this is a test");
 while (st.hasMoreTokens()) {
     System.out.println(st.nextToken());
 }

关于java - 为什么我的 Java 程序只在文件中添加一半的数字列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18580400/

相关文章:

Java父子函数调用机制关系

javascript - 在 Javascript 警告框中的新行中显示 PHP 数组的每个条目

java - 将对象转换为数组

java - 如何调用其他类(class)的名单?

java - 只保留字母字符

java - 我的 fragment 不同时创建

C 初始化数组 C2059

python - 替换 x 轴值

php - 我如何将新的键值对推送到数组 php?

java - 如果当前线程有权限退出Java虚拟机