我正在编写一个程序,提示用户输入文件名。我必须假设该文件包含一个表示 n 个数据值数量的整数,后跟一系列 n 个 float (在一个名为 RandomFloats 的文件中给我的),每个 float 都写在单独的行上。该程序应将 RandomFloats 文件的内容读入数组,然后在控制台中显示并将以下数据写入文件:数组中 float 的数量、数组中的最低和最高数字,总计和平均值。这是到目前为止我的代码(我将在不起作用的部分添加注释)
import java.io.File;
import java.util.*;
public class Problem9 {
/**
* @param args
*/
public static void main(String[] args) {
File rf = new File("RandomFloats");
Scanner kb = new Scanner(rf); //Unhandled exception type FileNotFoundException
double[] numFloats = new double [4268];
for (int i = 0; i < numFloats.length; i++){
numFloats[i] = kb.nextInt();
}
System.out.println("Please enter a file name");
String fileName = kb.nextLine();
minValue (numFloats);
maxValue (numFloats);
totalValue (numFloats);
averageValue (numFloats);
}
public static void minValue (double[] numFloats){
double min = 0;
for(int i = 0; i < numFloats.length; i++){
if (numFloats[i] < min){
min = numFloats[i];
}
}
System.out.println("Min Value: " + min);
}
public static void maxValue (double[] numFloats){
double max = 0;
for(int i = 0; i < numFloats.length; i++){
if (numFloats[i] > max){
max = numFloats[i];
}
}
System.out.println("Max Value: " + max);
}
public static void totalValue (double[] numFloats){
double total = 0;
for (int i = 0; i < numFloats.length; i++){
total += numFloats[i];
}
System.out.printf("\nTotal1: %.1f" , total);
}
public static void averageValue (double[] numFloats){
double total = 0;
double average;
for (int i = 0; i < numFloats.length; i++){
total += numFloats[i];
}
average = total / numFloats.length;
System.out.printf("\nAverage: %.1f" , average);
}
}
我不确定如何打印出样本大小,并且我创建的文件 RandomFloats 没有被读入数组。请帮助我,我完全陷入困境,谢谢!!
最佳答案
异常FileNotFoundException
表示未找到您指定的文件。也许它不在您的程序执行的同一目录中?也许它有某种后缀,例如 .txt
?尝试提供文件的完全限定路径,例如:
"/Users/bob.bobberton/RandomFloats"
关于java - 程序将文件内容读入数组,并显示控制台并写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18666200/