此方法假设要求用户提供已创建的包含数字列表的文件名,如果文件不存在,则必须让用户知道。我无法弄清楚如何将文件中的数字分配给新数组?
public static int[] inputData() throws IOException
{
int count = 0;
System.out.print("enter input filename: ");
File myFile = new File("input.txt");
if(!myFile.exists())
{
System.out.print("file does not exist ");
System.exit(0);
}
Scanner inputFile = new Scanner(myFile);
while(inputFile.hasNext() && count < ARRAY_SIZE)
{
array[count++] = input.nextInt();
}
return array[];
}
答案 0 :(得分:1)
您需要学习如何声明和分配一个新数组,您将传回去。它看起来像是一个int
的数组,当你打电话给ARRAY_SIZE
时,你会把它变成一定的大小(已在某处定义new
?)。请参阅official tutorial on arrays。
(注意,在数组的for
循环中使用外部上限通常是一个坏主意。该数组带有内置的length
,您可以使用它是正确的大小。)
答案 1 :(得分:-1)
你在哪里定义变量数组?
你的问题是,你不知道你需要多大的数组。最好的选择是使用ArrayList,因为这允许动态调整大小。 (因此它需要是整数列表而不是整数)
public static Integer[] inputData() throws IOException
{
List<Integer> fileData = new ArrayList<Integer>();
int count = 0;
System.out.print("enter input filename: ");
File myFile = new File("input.txt");
if(!myFile.exists())
{
System.out.print("file does not exist ");
System.exit(0);
}
Scanner inputFile = new Scanner(myFile);
while(inputFile.hasNext())
{
fileData.add(inputFile.nextInt());
}
return fileData.toArray(new Integer[fileData.size()]);
}