【发布时间】:2016-12-10 01:36:47
【问题描述】:
我正在学习 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
您可以创建一个简单的记事本文件来存储一堆整数,只需确保每个数字之间至少有一个空格或一行。
问题:如果我不知道文件中有多少个变量,我怎么知道将数组初始化为哪个变量?我想过将数组初始化放在 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 个数组,一个读取文件以计算变量的数量,另一个数组存储变量。
我不确定为什么这被标记为“重复”,因为另一个问题是从文件中读取。然而它完全不同。伙计,这个社区很苛刻。哈哈。
【问题讨论】:
-
因为数组的大小是动态的,所以ArrayList会是更好的解决方案。
-
提示:您不限于使用单个数组。您需要在读取整数时调整数组的大小。
-
在最初不知道文件中有多少数据的情况下,无法确定数组应该有多大。您必须继续向
List添加数据,然后将其转换为数组,但我不确定这是否可以接受。你最好的选择:问你的老师 -
@DB 阵列应该以什么速度增长?他应该在之后修剪阵列吗?速率和修剪重要吗?唯一能回答这些问题的人就是给他分配任务的人。
-
@VinceEmigh 因为这是一门入门课,所以我想的分数是 1,但可以肯定的是,他应该问老师。
标签: java