所以这里是新的代码: 代码是打印奇怪的文本,而不是数字,但正确地计算中位数和平均值。如何将文件中的数据保存到数组中?
import java.util.Scanner;
import java.io.IOException;
import java.io.File;
import java.io.PrintWriter;
public class Array {
Scanner keyboard = new Scanner(System.in);
public static void main(String[] args) throws IOException{
File myFile = new File("numbers.txt");
Scanner inputFile = new Scanner(myFile);
int[] mynumFile = new int[4];
int i = 0;
double median;
double sum = 0;
int middle;
while (inputFile.hasNextInt())
{
mynumFile[i] = inputFile.nextInt();
sum += mynumFile[i];
i++;
System.out.println(numFile);
/*and if i do --> System.out.println(mynumFile);
it prints [[email protected], [[email protected], [[email protected], [[email protected] and i dont know
what this is, since the program does not throw any errors or exceptions */
}
middle = (mynumFile.length)/2;
median = (mynumFile[middle-1] + mynumFile[middle])/2.0;
System.out.println("Median number is: " + median);
System.out.println("Average of the numbers is: " + sum/mynumFile.length);
inputFile.close();
}
}
所以我想写一个Java程序来读取所有文件中的数字到一个数组。然后找到数字的中位数并将其打印输出到控制台。中位数应该是双重的。偶数列表的中位数是中间两位数的平均值,例如,假设中位数为((NUMBER_2 + NUMBER_3)/ 2)。我也想找到数组中数字的平均值。
我的问题是我没有得到如何读取文件中的所有值到数组中。我的代码从我的文件输出到控制台的数字很好,但如何将它读入数组,然后进行计算?
这是一个测试程序,所以我的文件具有诸如5,7,9,4
任何帮助将不胜感激4个位数。
import java.util.Scanner;
import java.io.IOException;
import java.io.File;
import java.io.PrintWriter;
public class Array {
Scanner scnr = new Scanner(System.in);
public static void main(String[] args) throws IOException{
File myFile = new File("numbers.txt");
Scanner inputFile = new Scanner(myFile);
int[] mynumFile = new int[4];
int i = 0;
while (inputFile.hasNext())
{
int numFile = inputFile.nextInt();
System.out.println(numFile);
}
inputFile.close();
}
}
什么与投票下降? – JavaCoder