我正在学习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;因为另一个问题是从文件中读取。然而,它完全不同。男人这个社区很苛刻。洛尔。
答案 0 :(得分:-1)
如果分配是严格使用数组,你可以使用循环来计算条目数,就像这样。
int num = 0;
while (text.hasNext())
num++;
这将计算文件中的数字整数。然后使用变量num
初始化数组答案 1 :(得分:-1)
您可以使用ArrayList。 ArrayList是一个包装数组的对象,并在向其添加元素时处理重新分配新数组。