从文件数组中读取

时间:2016-12-10 01:36:48

标签: java

我正在学习Java的入门级课程并遇到一个小问题。我正在读取一个随机数为整数的文件(例如2 24 31 4 5 6 7 8 9 11 15),我必须将这些整数输入数组。

分配 1)编写一个程序,要求用户输入包含未知整数数的文本文件的文件名。还有一个输出文件名来显示结果。您将从输入文件中读取所有整数,并将它们存储在数组中。 (您可能需要读取文件中的所有值才能获得总计数)使用此数组,您将找到最大数量,最小数量,平均值和标准偏差。这些结果将报告给屏幕并放入用户选择的输出文件中。     输出到屏幕和文件可能如下所示:

    Read from file: 12 values
        Maximum value = 20
    Minimum value = 3
    Average value = 13.34
    Standard Deviation = 2.15

您可以创建一个简单的NotePad文件来存储一堆整数,只需确保每个数字之间至少有一个空格或一行。

问题:如果我不知道文件中有多少变量,我怎么知道将数组初始化为什么变量?我想将数组初始化放在for循环下面但是我不会初始化数组。

我的代码如下:

import java.io.*;
import java.util.*;
class lab13
{
public static void main(String args[]) throws IOException
   {

   Scanner keyboard= new Scanner (System.in);

   File text = new File("readme.txt"); //creating file readme.txt
   Scanner fromfile = new Scanner(text);  //reading from File txt

   int counter=0;  

      int [] array = new int[10];
      for(int i=0;i<array.length;i++)
      {            
         array[i] = fromfile.nextInt(); //storing integers into array

         System.out.println(" "+array[i]);   //print out numbers in file
         counter++;
      }

    System.out.println("");
    System.out.println("Read from file:"+counter+" values");        
}

编辑:我的问题的答案是有2个数组,一个读取文件来计算变量数,另一个数组来存储变量。

我不确定为什么这被标记为&#34;复制&#34;因为另一个问题是从文件中读取。然而,它完全不同。男人这个社区很苛刻。洛尔。

2 个答案:

答案 0 :(得分:-1)

如果分配是严格使用数组,你可以使用循环来计算条目数,就像这样。

int num = 0;
while (text.hasNext())
       num++;

这将计算文件中的数字整数。然后使用变量num

初始化数组

答案 1 :(得分:-1)

您可以使用ArrayList。 ArrayList是一个包装数组的对象,并在向其添加元素时处理重新分配新数组。